Skip to main content
此產品有較新版本可以使用。
本繁體中文版使用機器翻譯,譯文僅供參考,若與英文版本牴觸,應以英文版本為準。

PUT Bucket 元資料通知配置

PUT Bucket 元資料通知設定請求可讓您為單一儲存桶啟用搜尋整合服務。您在請求正文中提供的元資料通知配置 XML 指定將其元資料傳送至目標搜尋索引的物件。

您必須擁有儲存桶的 s3:PutBucketMetadataNotification 權限,或成為帳戶根,才能完成此操作。

要求

請求必須在請求正文中包含元資料通知配置。每個元資料通知配置都包含一個或多個規則。每條規則指定其適用的物件以及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 中的元素。

Name 描述 必需的

元數據通知配置

用於指定元資料通知的物件和目的地的規則的容器標籤。

包含一個或多個 Rule 元素。

是的

規則

規則的容器標籤,用於標識應將其元資料新增至指定索引的物件。

前綴重疊的規則將被拒絕。

包含在 MetadataNotificationConfiguration 元素中。

是的

ID

規則的唯一識別碼。

包含在 Rule 元素中。

不

地位

狀態可以是「啟用」或「停用」。對於已停用的規則,不會採取任何措施。

包含在 Rule 元素中。

是的

前綴

與前綴相符的物件會受到規則的影響,並且其元資料會被傳送到指定的目標。

若要符合所有對象,請指定一個空前綴。

包含在 Rule 元素中。

是的

目的地

規則目標的容器標籤。

包含在 Rule 元素中。

是的

甕

發送物件元資料的目標的 URN。必須是具有以下屬性的StorageGRID端點的 URN:

  • `es`必須是第三個元素。

  • URN 必須以儲存元資料的索引和類型結尾,格式如下 domain-name/myindex/mytype。

端點是使用租用戶管理器或租用戶管理 API 進行設定的。它們的形式如下:

  • arn:aws:es:region:account-ID:domain/mydomain/myindex/mytype

  • urn:mysite:es:::mydomain/myindex/mytype

必須在提交配置 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`發送到一個目的地,而與前綴匹配的對象的對像元數據 `/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`bucket 沒有版本控制,因此 `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

物件版本,適用於版本化儲存桶中的對象

儲存桶和物件資訊

地區

例如,儲存桶區域 us-east-1

系統元數據

尺寸

HTTP 用戶端可見的物件大小(以位元組為單位)

系統元數據

md5

物件哈希

用戶元數據

元數據 key:value

物件的所有用戶元數據,以鍵值對的形式

標籤

標籤 key:value

為物件定義的所有物件標籤,以鍵值對的形式

註 對於標籤和使用者元數據, StorageGRID將日期和數字作為字串或 S3 事件通知傳遞給 Elasticsearch。若要設定 Elasticsearch 將這些字串解釋為日期或數字,請按照 Elasticsearch 的動態欄位對應和對應日期格式的說明進行操作。在配置搜尋整合服務之前,您必須在索引上啟用動態欄位對應。文檔被索引後,您無法在索引中編輯文檔的欄位類型。