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 的動態欄位對應和對應日期格式的說明進行操作。在配置搜尋整合服務之前,您必須在索引上啟用動態欄位對應。文檔被索引後,您無法在索引中編輯文檔的欄位類型。