PUT Bucket metadata notification configuration 要求
PUT Bucket metadata notification configuration 要求を使用すると、個々のバケットで検索統合サービスを有効化できます。要求の本文に含めるメタデータ通知設定 XML では、デスティネーション検索インデックスにメタデータを送信するオブジェクトを指定します。
この処理を完了するには、バケットの s3 : PutBucketMetadataNotification 権限または root アカウントが必要です。
リクエスト
要求の本文にメタデータ通知設定が含まれている必要があります。各メタデータ通知設定には、 1 つ以上のルールが含まれています。各ルールは、環境 がオブジェクトを指定し、 StorageGRID がオブジェクトメタデータを送信するデスティネーションを指定します。
オブジェクトはオブジェクト名のプレフィックスでフィルタリングできます。たとえば、プレフィックスが「 /images 」であるオブジェクトのメタデータをあるデスティネーションに送信し、プレフィックスが「 /videos 」であるオブジェクトのメタデータを別のデスティネーションに送信できます。
プレフィックスが重複している設定は無効で、送信時に拒否されます。たとえば、プレフィックスが「 test 」のオブジェクト用のルールとプレフィックスが「 test2 」のオブジェクト用のルールを含む設定は許可されません。
デスティネーションは、 StorageGRID エンドポイントの URN を使用して指定する必要があります。エンドポイントは、メタデータ通知設定が送信されたときに存在している必要があります。存在しない場合、リクエストは「 400 Bad Request 」として失敗します。エラーメッセージには、「メタデータ通知(検索)ポリシーを保存できません。指定されたエンドポイント URN は存在しません: URN
<MetadataNotificationConfiguration> <Rule> <ID>Rule-1</ID> <Status>rule-status</Status> <Prefix>key-prefix</Prefix> <Destination> <Urn>arn:aws:es:region:account-ID:domain/mydomain/myindex/mytype</Urn> </Destination> </Rule> <Rule> <ID>Rule-2</ID> ... </Rule> ... </MetadataNotificationConfiguration>
次の表に、メタデータ通知設定 XML の要素を示します。
名前 | 説明 | 必須 |
---|---|---|
MetadataNotificationConfiguration のページです |
メタデータ通知でオブジェクトとデスティネーションの指定に使用されるルール用のコンテナタグ。 1 つ以上の Rule 要素を含みます。 |
はい。 |
ルール |
指定したインデックスにメタデータを追加する必要があるオブジェクトを特定するルール用のコンテナタグ。 プレフィックスが重複しているルールは拒否されます。 MetadataNotificationConfiguration 要素に含まれています。 |
はい。 |
ID |
ルールの一意の識別子。 Rule 要素に含まれています。 |
いいえ |
ステータス |
Status には「 Enabled 」または「 Disabled 」を指定できます。無効になっているルールについては操作が実行されません。 Rule 要素に含まれています。 |
はい。 |
プレフィックス |
プレフィックスと一致するオブジェクトにルールが適用され、そのメタデータが指定したデスティネーションに送信されます。 すべてのオブジェクトを照合するには、空のプレフィックスを指定します。 Rule 要素に含まれています。 |
はい。 |
宛先 |
ルールのデスティネーションのコンテナタグ。 Rule 要素に含まれています。 |
はい。 |
URN |
オブジェクトメタデータが送信されるデスティネーションの URN 。次のプロパティを持つ StorageGRID エンドポイントの URN を指定する必要があります。
エンドポイントは、 Tenant Manager またはテナント管理 API を使用して設定します。形式は次のとおりです。
エンドポイントは設定 XML を送信する前に設定する必要があります。そうしないと、 404 エラーで設定が失敗します。 Urn は Destination 要素に含まれています。 |
はい。 |
例をリクエストする
次の例は、バケットの検索統合を有効にする方法を示しています。この例では、すべてのオブジェクトのオブジェクトメタデータが同じデスティネーションに送信されます。
PUT /test1?x-ntap-sg-metadata-notification HTTP/1.1
Date: date
Authorization: authorization string
Host: host
<MetadataNotificationConfiguration>
<Rule>
<ID>Rule-1</ID>
<Status>Enabled</Status>
<Prefix></Prefix>
<Destination>
<Urn>urn:sgws:es:::sgws-notifications/test1/all</Urn>
</Destination>
</Rule>
</MetadataNotificationConfiguration>
この例では、プレフィックス「 /images 」に一致するオブジェクトのオブジェクトメタデータは 1 つのデスティネーションに送信され、プレフィックス「 /videos 」に一致するオブジェクトのオブジェクトメタデータは 2 つ目のデスティネーションに送信されます。
PUT /graphics?x-ntap-sg-metadata-notification HTTP/1.1
Date: date
Authorization: authorization string
Host: host
<MetadataNotificationConfiguration>
<Rule>
<ID>Images-rule</ID>
<Status>Enabled</Status>
<Prefix>/images</Prefix>
<Destination>
<Urn>arn:aws:es:us-east-1:3333333:domain/es-domain/graphics/imagetype</Urn>
</Destination>
</Rule>
<Rule>
<ID>Videos-rule</ID>
<Status>Enabled</Status>
<Prefix>/videos</Prefix>
<Destination>
<Urn>arn:aws:es:us-west-1:22222222:domain/es-domain/graphics/videotype</Urn>
</Destination>
</Rule>
</MetadataNotificationConfiguration>
検索統合サービスで生成される JSON
バケットで検索統合サービスを有効にすると、オブジェクトのメタデータまたはタグの追加、更新、削除が行われるたびに、 JSON ドキュメントが生成されてデスティネーションエンドポイントに送信されます。
次の例は、「 test 」という名前のバケットに「 sgws / Tagging .txt 」というキーのオブジェクトが作成されたときに生成される JSON を示しています。test` バケットはバージョン管理されていないため 'versionId' タグは空です
{ "bucket": "test", "key": "SGWS/Tagging.txt", "versionId": "", "accountId": "86928401983529626822", "size": 38, "md5": "3d6c7634a85436eee06d43415012855", "region":"us-east-1" "metadata": { "age": "25" }, "tags": { "color": "yellow" } }
メタデータ通知に含まれているオブジェクトメタデータ
次の表に、検索統合が有効になっている場合にデスティネーションエンドポイントに送信される JSON ドキュメント内のすべてのフィールドを示します。
ドキュメント名には、バケット名、オブジェクト名、バージョン ID (存在する場合)が含まれます。
を入力します | 項目名 | 説明 |
---|---|---|
バケットとオブジェクトの情報 |
バケット |
バケットの名前 |
バケットとオブジェクトの情報 |
キーを押します |
オブジェクトキーの名前 |
バケットとオブジェクトの情報 |
versionId |
バージョン管理されたバケット内のオブジェクトのオブジェクトバージョン |
バケットとオブジェクトの情報 |
リージョン |
バケットリージョン。たとえば、「 us-east-1 」と入力します |
システムメタデータ |
サイズ |
HTTP クライアントから認識できるオブジェクトのサイズ(バイト) |
システムメタデータ |
MD5 |
オブジェクトのハッシュ |
ユーザメタデータ |
metadata`key: value` |
オブジェクトのすべてのユーザメタデータをキーと値のペアとして格納 |
タグ |
tags |
オブジェクトに対して定義されたすべてのオブジェクトタグをキーと値のペアとして使用します |
-
注: StorageGRID は、タグとユーザメタデータに対して、文字列または S3 イベント通知として Elasticsearch に日付と番号を渡します。これらの文字列を日付または数値として解釈するように Elasticsearch を設定するには、動的フィールドマッピングおよびマッピング日付形式に関する Elasticsearch の手順に従ってください。検索統合サービスを設定する前に、インデックスの動的フィールドマッピングを有効にする必要があります。ドキュメントにインデックスを付けた後は、インデックス内のドキュメントのフィールドタイプを編集できません。