放置時段中繼資料通知組態要求
「置入庫位元資料」通知組態要求可讓您針對個別的庫位啟用搜尋整合服務。您在要求本文中提供的中繼資料通知組態XML、會指定將中繼資料傳送至目的地搜尋索引的物件。
您擁有儲存區的S3:PuttBucketMetadata通知權限、或是帳戶根權限、即可完成此作業。
申請
要求必須在要求本文中包含中繼資料通知組態。每個中繼資料通知組態都包含一或多個規則。每個規則都會指定要套用的物件、StorageGRID 以及應將物件中繼資料傳送到哪個目的地。
物件可依物件名稱的前置詞進行篩選。例如、您可以將前置詞為「/影像」的物件中繼資料傳送至一個目的地、並將前置詞為「/視訊」的物件傳送至另一個目的地。
具有重疊前置碼的組態無效、在提交時會遭到拒絕。例如、如果組態中包含一個物件規則、其前置詞為「test」、第二個規則則為「test2」、就不允許。
目的地必須使用StorageGRID 不實端點的URN來指定。提交中繼資料通知組態時、端點必須存在、否則要求會以「400個不良要求」的形式失敗。錯誤訊息指出:「無法儲存中繼資料通知(搜尋)原則。指定的端點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中的元素。
名稱 | 說明 | 必要 |
---|---|---|
Metadata NotifyationConfiguration |
用於指定中繼資料通知物件和目的地之規則的容器標籤。 包含一或多個規則元素。 |
是的 |
規則 |
規則的容器標記、用於識別應將中繼資料新增至指定索引的物件。 會拒絕具有重疊前置碼的規則。 包括在Metadata NotifyationConfiguration元素中。 |
是的 |
ID |
規則的唯一識別碼。 包含在Rule元素中。 |
否 |
狀態 |
狀態可以是「已啟用」或「已停用」。不針對停用的規則採取任何行動。 包含在Rule元素中。 |
是的 |
前置碼 |
符合前置碼的物件會受到規則影響、其中繼資料會傳送到指定的目的地。 若要符合所有物件、請指定一個空白首碼。 包含在Rule元素中。 |
是的 |
目的地 |
規則目的地的容器標記。 包含在Rule元素中。 |
是的 |
urn |
傳送物件中繼資料的目的地之一。必須是StorageGRID 具有下列屬性的不景端點的URN:
端點是使用租戶管理程式或租戶管理API來設定。它們採用下列形式:
端點必須在提交組態XML之前進行設定、否則組態將會失敗並顯示404錯誤。 目標元素中包含urn. |
是的 |
申請範例
此範例顯示啟用儲存庫的搜尋整合功能。在此範例中、所有物件的物件中繼資料都會傳送到相同的目的地。
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>
在此範例中、與首碼「/影像」相符的物件之物件中繼資料會傳送至一個目的地、而與首碼「/視訊」相符的物件之物件中繼資料則會傳送至第二個目的地。
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」的儲存格中建立具有「GWS/Tagging.txt」鍵的物件時、可能產生的Json範例。「test」儲存區並非版本化、因此「vrionId」標記為空白。
{ "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(若有)。
類型 | 項目名稱 | 說明 |
---|---|---|
儲存區和物件資訊 |
鏟斗 |
庫位名稱 |
儲存區和物件資訊 |
金鑰 |
物件金鑰名稱 |
儲存區和物件資訊 |
版本ID |
物件版本、適用於版本控制的儲存區中的物件 |
儲存區和物件資訊 |
區域 |
例如「us-east-1」 |
系統中繼資料 |
尺寸 |
HTTP用戶端可見的物件大小(以位元組為單位) |
系統中繼資料 |
md5 |
物件雜湊 |
使用者中繼資料 |
中繼資料:key:value' |
物件的所有使用者中繼資料、做為金鑰值配對 |
標記 |
標記`key:value' |
為物件定義的所有物件標記、做為金鑰值配對 |
附註: StorageGRID 針對標記和使用者中繼資料、將日期和數字以字串或S3事件通知的形式傳遞給Elasticsearch。若要設定Elasticsearch將這些字串解譯為日期或數字、請遵循Elasticsearch指示進行動態欄位對應、以及對應日期格式。您必須先在索引上啟用動態欄位對應、才能設定搜尋整合服務。建立文件索引之後、就無法在索引中編輯文件的欄位類型。