放置時段中繼資料通知組態
「置入庫位元資料」通知組態要求可讓您針對個別的庫位啟用搜尋整合服務。您在要求本文中提供的中繼資料通知組態XML、會指定將中繼資料傳送至目的地搜尋索引的物件。
您必須擁有儲存區的S3:PuttBucketMetadata通知權限、或是帳戶根權限、才能完成此作業。
申請
要求必須在要求本文中包含中繼資料通知組態。每個中繼資料通知組態都包含一或多個規則。每個規則都會指定要套用的物件、StorageGRID 以及應將物件中繼資料傳送到哪個目的地。
物件可依物件名稱的前置詞進行篩選。例如、您可以傳送具有前置碼之物件的中繼資料 /images 至一個目的地、以及具有前置碼的物件 /videos 到另一個。
有重疊前置字元的組態無效、提交時會遭到拒絕。例如、含有前置字元物件規則的組態 test 和第二個規則、用於具有前置碼的物件 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中的元素。
| 名稱 | 說明 | 必要 |
|---|---|---|
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>
在此範例中、物件的中繼資料會與前置詞相符 /images 會傳送至一個目的地、而物件中繼資料則會與前置詞相符 /videos 傳送至第二個目的地。
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(若有)。
| 類型 | 項目名稱 | 說明 |
|---|---|---|
儲存區和物件資訊 |
鏟斗 |
庫位名稱 |
儲存區和物件資訊 |
金鑰 |
物件金鑰名稱 |
儲存區和物件資訊 |
版本ID |
物件版本、適用於版本控制的儲存區中的物件 |
儲存區和物件資訊 |
區域 |
例如、儲存區 |
系統中繼資料 |
尺寸 |
HTTP用戶端可見的物件大小(以位元組為單位) |
系統中繼資料 |
md5 |
物件雜湊 |
使用者中繼資料 |
中繼資料
|
物件的所有使用者中繼資料、做為金鑰值配對 |
標記 |
標記
|
為物件定義的所有物件標記、做為金鑰值配對 |
|
|
針對標記和使用者中繼資料StorageGRID 、將日期和數字以字串或S3事件通知的形式傳送至Elasticsearch。若要設定Elasticsearch將這些字串解譯為日期或數字、請遵循Elasticsearch指示進行動態欄位對應、以及對應日期格式。您必須先在索引上啟用動態欄位對應、才能設定搜尋整合服務。建立文件索引後、您就無法編輯索引中文件的欄位類型。 |