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

使用 PUT Bucket 元資料通知設定請求在 StorageGRID 中啟用搜尋整合服務

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 說明 必填

MetadataNotificationConfiguration

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

包含一個或多個規則元素。

是的

規則

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

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

包含在 MetadataNotificationConfiguration 元素中。

是的

ID

規則的唯一識別碼。

包含在規則元素中。

否

狀態

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

包含在規則元素中。

是的

前綴

與前綴相符的物件會受到該規則的影響,其中繼資料會傳送至指定的目的地。

若要符合所有物件,請指定空白前綴。

包含在規則元素中。

是的

目的地

規則目的地的容器標籤。

包含在規則元素中。

是的

Urn

物件中繼資料發送到的目的地的 URN。必須是具有以下屬性的 StorageGRID 端點的 URN:

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

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

端點透過 Tenant Manager 或租戶管理 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 文件並將其傳送至目的地端點。

此範例顯示在名為 test 的儲存貯體中建立具有金鑰 SGWS/Tagging.txt 的物件時,可能產生的 JSON 範例。 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

物件版本,適用於版本化儲存貯體中的物件

儲存桶和物件資訊

區域

儲存貯體區域,例如 us-east-1

系統中繼資料

尺寸

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

系統中繼資料

md5

物件雜湊

使用者中繼資料

中繼資料 key:value

該物件的所有使用者中繼資料,以鍵值對的形式呈現。

標籤

標籤 key:value

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

註 對於標籤和使用者中繼資料,StorageGRID 會將日期和數字作為字串或 S3 事件通知傳遞給 Elasticsearch。若要設定 Elasticsearch 將這些字串解釋為日期或數字,請按照 Elasticsearch 的動態欄位對應和日期格式對應說明進行操作。您必須先在索引上啟用動態欄位對應,然後才能設定搜尋整合服務。文件建立索引後,您將無法在索引中編輯該文件的欄位類型。
相關資訊

"使用租戶帳戶"