PUT Bucket metadata notification configuration のコマンドです
PUT Bucket metadata notification configuration 要求を使用すると、個々のバケットで検索統合サービスを有効化できます。要求の本文に含めるメタデータ通知設定 XML では、デスティネーション検索インデックスにメタデータを送信するオブジェクトを指定します。
この処理を完了するには、バケットのs3:PutBucketMetadataNotification権限またはrootアカウントが必要です。
リクエスト
要求の本文にメタデータ通知設定が含まれている必要があります。各メタデータ通知設定には、 1 つ以上のルールが含まれています。各ルールは、環境 がオブジェクトを指定し、 StorageGRID がオブジェクトメタデータを送信するデスティネーションを指定します。
オブジェクトはオブジェクト名のプレフィックスでフィルタリングできます。たとえば、というプレフィックスのオブジェクトのメタデータを送信できます /images を1つのデスティネーションに、プレフィックスがのオブジェクトに追加します /videos 別のノードに移動します
プレフィックスが重複している設定は有効ではなく、送信時に拒否されます。たとえば、プレフィックスがのオブジェクト用のルールを1つ含む設定などです test プレフィックスが付いたオブジェクトの2番目のルールです test2 許可されません。
デスティネーションは、 StorageGRID エンドポイントの URN を使用して指定する必要があります。エンドポイントは、メタデータ通知設定が送信されたときに存在している必要があります。存在していない場合、要求がとして失敗します 400 Bad Request。エラーメッセージ: Unable to save the metadata notification (search) policy. The specified endpoint URN does not exist: 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 ドキュメントが生成されてデスティネーションエンドポイントに送信されます。
次の例は、キーを含むオブジェクトの場合に生成されるJSONを示しています SGWS/Tagging.txt は、という名前のバケットに作成されます test。。 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 |
バージョン管理されたバケット内のオブジェクトのオブジェクトバージョン |
バケットとオブジェクトの情報 |
リージョン |
たとえば、バケットのリージョンのように指定します |
システムメタデータ |
サイズ |
HTTP クライアントから認識できるオブジェクトのサイズ(バイト) |
システムメタデータ |
MD5 |
オブジェクトのハッシュ |
ユーザメタデータ |
メタデータ
|
オブジェクトのすべてのユーザメタデータをキーと値のペアとして格納 |
タグ |
タグ
|
オブジェクトに対して定義されたすべてのオブジェクトタグをキーと値のペアとして使用します |
|
|
タグとユーザメタデータの場合、 StorageGRID は文字列または S3 イベント通知として Elasticsearch に日付と番号を渡します。これらの文字列を日付または数値として解釈するように Elasticsearch を設定するには、動的フィールドマッピングおよびマッピング日付形式に関する Elasticsearch の手順に従ってください。検索統合サービスを設定する前に、インデックスの動的フィールドマッピングを有効にする必要があります。ドキュメントのインデックス作成後は、インデックス内のドキュメントのフィールドタイプを編集することはできません。 |