do-meta-query は、バケットのメタデータインデックス機能を使用して、特定の条件を満たすオブジェクトをクエリし、特定のフィールドとソート方法に基づいてオブジェクトに関する情報をリストします。
注意
デフォルトでは、Alibaba Cloud アカウントには、特定の条件を満たすオブジェクトをクエリする権限があります。RAM ユーザーまたはセキュリティトークンサービス (STS) を使用して権限を追加または変更する場合は、oss:DoMetaQuery 権限が必要です。詳細については、「RAM ユーザーにカスタム権限を付与する」をご参照ください。
コマンド構文
ossutil api do-meta-query --bucket value --meta-query value [flags]パラメーター | タイプ | 説明 |
--bucket | string | バケットの名前。 |
--meta-query | string | クエリ条件のコンテナー。 |
--meta-query-mode | string | 取得モード。有効な値:
|
do-meta-query コマンドは DoMetaQuery 操作に対応します。API のパラメーターの詳細については、「DoMetaQuery」をご参照ください。
--meta-query
--meta-query 設定オプションは、XML と JSON の両方のフォーマットをサポートしています。オプションの値に file:// プレフィックスが含まれている場合、ossutil は設定ファイルから設定を読み取ります。
XML フォーマット:
<MetaQuery> <Query>string</Query> <Sort>string</Sort> <Order>string</Order> <Aggregations> <Aggregation> <Field>string</Field> <Operation>string</Operation> </Aggregation> ... </Aggregations> <MediaTypes> <MediaType>string</MediaType> ... </MediaTypes> <SimpleQuery>string</SimpleQuery> <NextToken>string</NextToken> <MaxResults>integer</MaxResults> </MetaQuery>JSON フォーマット:
{ "Query": "string", "Sort": "string", "Order": "string", "Aggregations": { "Aggregation": [ { "Field": "string", "Operation": "string" }, ... ] }, "MediaTypes": { "MediaType": ["string", ...] }, "SimpleQuery": "string", "NextToken": "string", "MaxResults": integer }
サポートされているグローバルコマンドラインオプションの詳細については、「サポートされているグローバルコマンドラインオプション」をご参照ください。
例
次の例は、データインデックスのスカラーモードを使用して、
examplebucketバケット内の特定の条件を満たすオブジェクトをクエリする方法を示しています。meta-query.xml という名前の設定ファイルを作成し、次のコードを設定ファイルに追加します。
<?xml version="1.0" encoding="UTF-8"?> <MetaQuery> <NextToken></NextToken> <MaxResults>5</MaxResults> <Query>{"Field": "Size","Value": "1048576","Operation": "gt"}</Query> <Sort>Size</Sort> <Order>asc</Order> <Aggregations> <Aggregation> <Field>Size</Field> <Operation>sum</Operation> </Aggregation> <Aggregation> <Field>Size</Field> <Operation>max</Operation> </Aggregation> </Aggregations> </MetaQuery>ステートメントの例:
ossutil api do-meta-query --bucket examplebucket --meta-query file://meta-query.xmlmeta-query.json という名前の設定ファイルを作成し、次のコードを設定ファイルに追加します。
{ "MaxResults": "5", "Query": "{\"Field\": \"Size\",\"Value\": \"1048576\",\"Operation\": \"gt\"}", "Sort": "Size", "Order": "asc", "Aggregations": { "Aggregation": [ { "Field": "Size", "Operation": "sum" }, { "Field": "Size", "Operation": "max" } ] } }ステートメントの例:
ossutil api do-meta-query --bucket examplebucket --meta-query file://meta-query.jsonコマンドラインで JSON パラメーターを使用します。
ossutil api do-meta-query --bucket examplebucket --meta-query file://meta-query.json
次の例は、データインデックスのベクターモードを使用して、
examplebucketバケット内の特定の条件を満たすオブジェクトをクエリする方法を示しています。meta-query.xml という名前の設定ファイルを作成し、次のコードを設定ファイルに追加します。
<?xml version="1.0" encoding="UTF-8"?> <MetaQuery> <Query>Overlooking the snow covered forest</Query> <MediaTypes> <MediaType>image</MediaType> </MediaTypes> <SimpleQuery>{"Operation":"gt", "Field": "Size", "Value": "1"}</SimpleQuery> </MetaQuery>ステートメントの例:
ossutil api do-meta-query --bucket examplebucket --meta-query file://meta-query.xml --meta-query-mode semanticmeta-query.json という名前の設定ファイルを作成し、次のコードを設定ファイルに追加します。
{ "Query": "Overlooking the snow covered forest", "MediaTypes": { "MediaType": "image" }, "SimpleQuery": "{\"Operation\":\"gt\", \"Field\": \"Size\", \"Value\": \"1\"}" }ステートメントの例:
ossutil api do-meta-query --bucket examplebucket --meta-query file://meta-query.json --meta-query-mode semanticコマンドラインで JSON パラメーターを使用します。
ossutil api do-meta-query --bucket examplebucket --meta-query "{\"Query\":\"Overlooking the snow covered forest\",\"MediaTypes\":{\"MediaType\":\"image\"},\"SimpleQuery\":\"{\\\"Operation\\\":\\\"gt\\\", \\\"Field\\\": \\\"Size\\\", \\\"Value\\\": \\\"1\\\"}\"}" --meta-query-mode semantic