配置搜尋整合服務
您可以透過建立搜尋整合 XML 並使用租用戶管理器將 XML 套用於儲存桶來啟用儲存桶的搜尋整合。
-
StorageGRID管理員已為您的租用戶帳戶啟用平台服務。
-
您已經建立了一個想要索引其內容的 S3 儲存桶。
-
您打算用作搜尋整合服務目標的端點已經存在,並且您有其 URN。
-
您屬於具有"管理所有 bucket 或 Root 存取權限"。使用租用戶管理器配置儲存桶時,這些權限會覆寫群組或儲存桶原則中的權限設定。
為來源儲存桶配置搜尋整合服務後,建立物件或更新物件的元資料或標籤會觸發將物件元資料傳送至目標端點。
如果為已包含物件的儲存桶啟用搜尋整合服務,則不會自動為現有物件傳送元資料通知。更新這些現有物件以確保其元資料已新增至目標搜尋索引。
-
為儲存桶啟用搜尋整合:
-
使用文字編輯器建立啟用搜尋整合所需的元資料通知 XML。
-
配置 XML 時,使用搜尋整合端點的 URN 作為目標。
可以根據物件名稱的前綴來過濾物件。例如,您可以發送帶有前綴的物件元數據 `images`到一個目標,以及帶有前綴的物件的元數據 `videos`到另一個。具有重疊前綴的配置無效,並且在提交時會被拒絕。例如,包含一個針對具有前綴的物件規則的配置 `test`第二個規則針對的是帶有前綴的對象 `test2`是不允許的。
根據需要,參考元資料配置 XML 的範例。
<MetadataNotificationConfiguration> <Rule> <Status>Enabled</Status> <Prefix></Prefix> <Destination> <Urn>/Urn> </Destination> </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 包含在目標元素中。
是的
-
-
在租用戶管理員中選擇*儲存(S3)* > 儲存桶。
-
選擇來源儲存桶的名稱。
出現儲存桶詳細資訊頁面。
-
選擇“平台服務”>“搜尋整合”
-
選取“啟用搜尋整合”複選框。
-
將元資料通知配置貼上到文字方塊中,然後選擇*儲存變更*。
StorageGRID管理員必須使用 Grid Manager 或 Management API 為每個租用戶帳戶啟用平台服務。如果儲存配置 XML 時發生錯誤,請聯絡您的StorageGRID管理員。 -
驗證搜尋整合服務是否配置正確:
-
將符合配置 XML 中指定的觸發元資料通知要求的物件新增至來源儲存桶。
在前面顯示的範例中,新增到儲存桶的所有物件都會觸發元資料通知。
-
確認包含物件元資料和標籤的 JSON 文件已新增至端點中指定的搜尋索引。
-
根據需要,您可以使用以下任一方法停用儲存桶的搜尋整合:
-
選擇 儲存 (S3) > 儲存桶 並清除 啟用搜尋整合 複選框。
-
如果您直接使用 S3 API,請使用 DELETE Bucket 元資料通知請求。請參閱實作 S3 用戶端應用程式的說明。
範例:適用於所有物件的元資料通知配置
在此範例中,所有物件的物件元資料都被傳送到同一個目的地。
<MetadataNotificationConfiguration>
<Rule>
<ID>Rule-1</ID>
<Status>Enabled</Status>
<Prefix></Prefix>
<Destination>
<Urn>urn:myes:es:::sgws-notifications/test1/all</Urn>
</Destination>
</Rule>
</MetadataNotificationConfiguration>
範例:具有兩個規則的元資料通知配置
在此範例中,與前綴相符的物件的物件元數據 `/images`發送到一個目的地,而與前綴匹配的對象的對像元數據 `/videos`被送到第二個目的地。
<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 範例 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(如果存在)。
- 儲存桶和物件資訊
-
bucket:儲存桶的名稱key:物件鍵名versionID:物件版本,用於版本化儲存桶中的對象region:例如桶區域us-east-1 - 系統元數據
-
size:HTTP 用戶端可見的物件大小(以位元組為單位)md5:物件哈希 - 用戶元數據
-
metadata:物件的所有用戶元數據,以鍵值對的形式key:value - 標籤
-
tags:為物件定義的所有物件標籤,以鍵值對的形式key:value
如何在 Elasticsearch 中查看結果
對於標籤和使用者元數據, StorageGRID將日期和數字作為字串或 S3 事件通知傳遞給 Elasticsearch。若要設定 Elasticsearch 將這些字串解釋為日期或數字,請按照 Elasticsearch 的動態欄位對應和對應日期格式的說明進行操作。在配置搜尋整合服務之前,請在索引上啟用動態欄位對應。文檔被索引後,您無法在索引中編輯文檔的欄位類型。