OpenMetaQuery 操作を呼び出して、バケットに対するメタデータ管理機能を有効化し、取得モードを選択します。この機能を有効化すると、Object Storage Service (OSS) は当該バケット向けにメタデータインデックスライブラリを作成し、その後、バケット内のすべてのオブジェクトに対してメタデータインデックスを構築します。インデックスライブラリが作成された後、OSS は新規オブジェクトの追跡およびインデックス構築を準リアルタイムで増分スキャンにより実行します。
注意事項
-
デフォルトでは、Alibaba Cloud アカウント (root ユーザー) がメタデータ管理機能を有効化する権限を持ちます。RAM ユーザーを使用してこの機能を有効化する場合は、当該 RAM ユーザーに
oss:OpenMetaQuery権限が付与されていることを確認してください。詳細については、「RAM ユーザーへのカスタム権限の付与」をご参照ください。 -
データインデックスに関する詳細については、「データインデックス」をご参照ください。
リクエスト構文
POST /?metaQuery&comp=add&mode=basic HTTP/1.1
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT 日付
Authorization: SignatureValue
<?xml version="1.0" encoding="UTF-8"?>
<MetaQuery>
<WorkflowParameters>
<WorkflowParameter>
<Name>VideoInsightEnable</Name>
<Value>True</Value> // 動画コンテンツ認識機能を有効化するかどうかを指定します。
</WorkflowParameter>
<WorkflowParameter>
<Name>ImageInsightEnable</Name>
<Value>True</Value> // 画像コンテンツ認識機能を有効化するかどうかを指定します。
</WorkflowParameter>
</WorkflowParameters>
<Filters>
<Filter>Size > 1024, FileModifiedTime > 2025-06-03T09:20:47.999Z</Filter> // フィルター条件を設定します。
<Filter>Filename prefix (YWEvYmIv)</Filter>
</Filters>
<NotificationAttributes>
<Notifications>
<Notification>
<MNS>your-mns-topic-name</MNS> // MNS トピックの名前。
</Notification>
</Notifications>
<WithFields>
<WithField>Insights</WithField> // MNS メッセージで返されるフィールド。有効な値は Insights のみです。この要素を指定しない場合、これらのフィールドは返されません。
</WithFields>
</NotificationAttributes>
</MetaQuery>リクエストヘッダー
この操作では、共通のリクエストヘッダーのみを使用します。詳細については、「共通のリクエストヘッダー」をご参照ください。
リクエスト要素
|
名前 |
型 |
必須 |
例 |
説明 |
|
mode |
String |
はい |
basic |
取得モード。有効な値:
|
|
role |
String |
いいえ |
my-oss-role | OSS へのアクセスに使用する RAM ロールの名前。安全なアクセスを確保するため、コンソールで当該ロールに必要な権限を付与してください。リクエスト内で |
MetaQuery | container | いいえ | 該当なし | メタデータクエリのコンテナ。 子ノード:Filters、NotificationAttributes |
WorkflowParameters | container | いいえ | 該当なし | AI 活用型コンテンツ認識機能の構成に使用するワークフローパラメーターのコンテナ。 |
WorkflowParameter | container | いいえ | 該当なし | 単一のワークフロー・パラメーターのコンテナ。 親ノード:WorkflowParameters |
Name | String | いいえ | VideoInsightEnable | ワークフロー・パラメーターの名前。
|
Value | String | いいえ | True | ワークフロー・パラメーターの値。
|
Filters | container | いいえ | 該当なし | フィルター条件のコンテナ。論理演算子(AND、OR)および比較演算子をサポートします。最大で 5 回の OR 演算および 4 回の AND 演算を指定できます。
たとえば、サイズが 1024 バイトより大きく、かつ最終更新時刻が 2025-06-03T09:20:47.999Z より後のオブジェクト、またはプレフィックスが 'aa/bb/'('aa/bb/' の URL 安全な Base64 エンコーディング である YWEvYmIv)であるオブジェクトをフィルターする場合の例を示します。 子ノード:Filter 親ノード:MetaQuery |
Filter | String | いいえ |
| フィルター条件式。サポートされる変数および演算子については、「付録:Filters フィールドの変数および演算子」をご参照ください。 この例では、サイズが 1024 バイトより大きく、かつ最終更新時刻が 2025-06-03T09:20:47.999Z より後のオブジェクトをフィルターします。 親ノード:Filters |
NotificationAttributes | container | いいえ | 該当なし | オブジェクトのインデックス構築完了後に MNS トピックへ送信される通知の設定を格納するコンテナ。 子ノード:Notifications、WithFields 親ノード:MetaQuery |
Notifications | container | いいえ | 該当なし | 通知設定のコンテナ。 子ノード:Notification 親ノード:NotificationAttributes |
Notification | container | いいえ | 該当なし | 子ノード:MNS 親ノード:Notifications |
MNS | String | いいえ | ipc-test-oss-notification | MNS トピックの名前。 親ノード:Notification |
WithFields | container | いいえ | 該当なし | 通知メッセージで返されるフィールドを指定するコンテナ。 子ノード:WithField 親ノード:NotificationAttributes |
WithField | String | いいえ | Insights | 通知メッセージで返されるフィールド。有効な値:
親ノード:WithFields |
レスポンスヘッダー
DescribeRegions リクエストに対するレスポンスのすべてのヘッダーは、共通のレスポンスヘッダーです。詳細については、「共通のレスポンスヘッダー」をご参照ください。
例
リクエスト例
POST /?metaQuery&comp=add&mode=basic HTTP/1.1
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
Date: Thu, 17 Apr 2025 13:08:38 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
<?xml version="1.0" encoding="UTF-8"?>
<MetaQuery>
<WorkflowParameters>
<WorkflowParameter>
<Name>VideoInsightEnable</Name>
<Value>True</Value> // 動画コンテンツ認識機能を有効化するかどうかを指定します。
</WorkflowParameter>
<WorkflowParameter>
<Name>ImageInsightEnable</Name>
<Value>True</Value> // 画像コンテンツ認識機能を有効化するかどうかを指定します。
</WorkflowParameter>
</WorkflowParameters>
<Filters>
<Filter>Size > 1024, FileModifiedTime > 2025-06-03T09:20:47.999Z</Filter> // フィルター条件を設定します:オブジェクトサイズが 1024 バイトより大きく、かつ最終更新時刻が 2025-06-03T09:20:47.999Z より後であること。
<Filter>Filename prefix (YWEvYmIv)</Filter> // プレフィックスフィルターを設定します:プレフィックスは YWEvYmIv であり、これはパス aa/bb/ の Base64 エンコーディングです。
</Filters>
<NotificationAttributes>
<Notifications>
<Notification>
<MNS>your-mns-topic-name</MNS> // MNS トピックの名前。
</Notification>
</Notifications>
<WithFields>
<WithField>Insights</WithField> // MNS メッセージで返されるフィールドを指定します。有効な値は Insights のみです。省略した場合、これらのフィールドは返されません。
</WithFields>
</NotificationAttributes>
</MetaQuery>レスポンス例
HTTP/1.1 200 OK
x-oss-request-id: 5C1B138A109F4E405B2D****
Date: Mon, 26 Jul 2021 13:08:38 GMT
Content-Length: 0
Connection: keep-alive
Server: AliyunOSS
x-oss-request-id: 5C06A3B67B8B5A3DA422299D
x-oss-server-time: 544
MNS 通知フォーマット
通知パラメーターを構成した場合、OSS は各オブジェクトのインデックス構築完了後に、指定された MNS トピックへ通知を送信します。通知のフォーマットは以下のとおりです:
{
"DatasetName": "your_dataset",
"RequestId": "EC8CC942-BA82-BC29-BB5E-3F193F9964CE",
"StartTime": "2026-02-27T19:20:35.190142739+08:00",
"EndTime": "2026-02-27T19:21:44.021599314+08:00",
"Success": true,
"Message": "",
"Files": [
{
"URI": "oss://your_bucket/dir/test.mp4",
"Error": "",
"ObjectStatus": "Indexed",
"SequenceNumber": 4,
"Insights": {
"Video": {
"Caption": "室内のコーナー静止シーン",
"Description": "これは室内のシーンです。フレームは左右のビューに分割されています:左側には白いカーテン付きのガラスドアがあり、その向こうにはぼんやりとした屋外の景色が見えます。右側には、茶色の革製ソファ、灰色の椅子、木製キャビネットからなるコーナーエリアがあります。ソファの隣には黒いベビーカーと緑色の観葉植物があり、キャビネットの上には明るい黄色のボールが置かれています。"
}
}
}
],
"UserData": ""
}SDK
この操作は、以下の SDK を使用して呼び出すことができます:
ossutil コマンドラインインターフェイス
OpenMetaQuery 操作に対応する ossutil コマンドの詳細については、「open-meta-query」をご参照ください。
付録:Filters フィールドの変数および演算子
パラメーター | 型 | サポートされる演算子 | 説明 | フィルター例 |
Size | Integer |
| オブジェクトサイズでフィルターします。 |
|
Filename | String |
| オブジェクト名でフィルターします。オブジェクト名は、URL 安全な Base64 エンコーディング 形式である必要があります。 |
|
FileModifiedTime | String |
| オブジェクトの最終更新時刻でフィルターします。RFC3339Nano 時間形式を使用します。 |
|
OSSTagging.* | String |
| タグでフィルターします。タグキーおよび値は、URL 安全な Base64 エンコーディング 形式である必要があります。 |
|