自訂資料來源連接器 - Amazon Kendra

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

自訂資料來源連接器

如果存放庫尚 Amazon Kendra 未為其提供資料來源連接器,請使用自訂資料來源。即使您無法使用的 Amazon Kendra 資料來源同步存放庫,也可以使用它來查看資料來源提供 Amazon Kendra的相同執行歷程記錄指標。使用此功能可在 Amazon Kendra 資料來源與自訂資料來源之間建立一致的同步監控體驗。具體來說,使用自訂資料來源查看您使用BatchPutDocument和建立之資料來源連接器的同步指標BatchDeleteDocumentAPIs。

如需 Amazon Kendra 自訂資料來源連接器的疑難排解,請參閱疑難排解資料來

建立自訂資料來源時,您可以完全控制如何選取要編製索引的文件。 Amazon Kendra 僅提供可用於監視資料來源同步工作的指標資訊。您必須建立並執行可判斷資料來源索引之文件的爬行者程式。

您必須使用 Do cument 物件指定文件的主要標題,並且才能_source_uriDocumentAttributeQuery結果的回應中DocumentURI包含DocumentTitle並包含在內。

您可以使用主控台或使用來建立自訂資料來源的識別碼CreateDataSourceAPI。若要使用主控台,請為資料來源指定名稱,並選擇性地指定描述和資源標籤。建立資料來源後,會顯示資料來源 ID。複製此 ID,以便在將資料來源與索引同步時使用。

Form for specifying data source details, including name, description, and optional tags.

您也可以使用建立自訂資料來源CreateDataSourceAPI。會API傳回您同步處理資料來源時要使用的 ID。使用建立CreateDataSourceAPI自訂資料來源時,無法設定ConfigurationRoleArnSchedule參數。如果您設定這些參數, Amazon Kendra 會傳回ValidationException例外狀況。

若要使用自訂資料來源,請建立負責更新 Amazon Kendra 索引的應用程式。應用程式取決於您建立的爬行者程式。爬行者程式會讀取儲存庫中的文件,並決定要將哪些文件傳送至 Amazon Kendra。您的應用程式應該執行下列步驟:

  1. 編目您的存放庫,並列出存放庫中新增、更新或刪除的文件。

  2. 呼叫StartDataSourceSyncJobAPI以表示同步工作正在開始。您提供資料來源 ID 以識別正在同步的資料來源。 Amazon Kendra 會傳回執行 ID,以識別特定的同步工作。

  3. 呼叫BatchDeleteDocumentAPI以從索引中移除文件。您可以提供資料來源 ID 和執行 ID,以識別正在同步處理的資料來源以及與此更新相關聯的工作。

  4. 呼叫StopDataSourceSyncJobAPI以表示同步工作結束。呼叫之後 StopDataSourceSyncJobAPI,關聯的執行 ID 將不再有效。

  5. ListDataSourceSyncJobsAPI使用索引和資料來源識別碼呼叫,以列出資料來源的同步工作,並查看同步工作的指標。

結束同步工作後,您可以開始新的同步工作。在將所有提交的文件新增至索引之前,可能需要一段時間。使用ListDataSourceSyncJobsAPI可查看同步工作的狀態。如果針對同步工作Status傳回的是SYNCING_INDEXING,則某些文件仍在編製索引。當先前工作的狀態為或時,您可以啟動新的同步工FAILEDSUCCEEDED

呼叫之後 StopDataSourceSyncJobAPI,您無法在呼叫BatchPutDocument或時使用同步工作識別碼BatchDeleteDocumentAPIs。如果您這樣做,所有提交的文件都會在來自的回FailedDocuments應訊息中傳回API。

必要屬性

當您將文件提交給 Amazon Kendra 使用時 BatchPutDocumentAPI,每個文件都需要兩個屬性來識別其所屬的資料來源和同步化執行。您必須提供下列兩個屬性,才能將自訂資料來源中的文件正確對應至 Amazon Kendra 索引:

  • _data_source_id資料來源的識別碼。當您使用主控台或建立資料來源時,會傳回此值CreateDataSourceAPI。

  • _data_source_sync_job_execution_id同步執行的識別碼。當您使用啟動索引同步處理時會傳回此選項StartDataSourceSyncJobAPI。

以下是使用自訂資料來源編製文件索引JSON所需的項目。

{ "Documents": [ { "Attributes": [ { "Key": "_data_source_id", "Value": { "StringValue": "data source identifier" } }, { "Key": "_data_source_sync_job_execution_id", "Value": { "StringValue": "sync job identifier" } } ], "Blob": "document content", "ContentType": "content type", "Id": "document identifier", "Title": "document title" } ], "IndexId": "index identifier", "RoleArn": "IAM role ARN" }

當您使用從索引中移除文件時 BatchDeleteDocumentAPI,您需要在DataSourceSyncJobMetricTarget參數中指定下列兩個欄位:

  • DataSourceId資料來源的識別碼。當您使用主控台或建立資料來源時,會傳回此值CreateDataSourceAPI。

  • DataSourceSyncJobId同步執行的識別碼。當您使用啟動索引同步處理時會傳回此選項StartDataSourceSyncJobAPI。

以下是使用從索引中刪除文檔JSON所需的BatchDeleteDocumentAPI。

{ "DataSourceSyncJobMetricTarget": { "DataSourceId": "data source identifier", "DataSourceSyncJobId": "sync job identifier" }, "DocumentIdList": [ "document identifier" ], "IndexId": "index identifier" }

檢視 指標

同步工作完成後,您可以使用取DataSourceSyncJobMetricsAPI得與同步工作相關聯的指標。使用此選項可監視您的自訂資料來源同步。

如果您多次提交相同的文件 (不論是作為的一部分) BatchDeleteDocumentAPI,或者如果文件同時提交以進行新增和刪除,則該文件只會在量度中計算一次。BatchPutDocument API

  • DocumentsAdded第一次新增至索引時,使用BatchPutDocumentAPI與此同步工作相關聯的提交文件數目。如果在同步中提交文件以供新增多次,則該文件只會在量度中計算一次。

  • DocumentsDeleted使用與此同步工作BatchDeleteDocumentAPI相關聯的提交文件數目,從索引中刪除。如果文件在同步中提交多次要刪除,則該文件只會在量度中計算一次。

  • DocumentsFailed與此同步工作相關聯的文件編製索引失敗的數目。這些是已接受索引 Amazon Kendra ,但無法編製索引或刪除的文件。如果文件未被接受 Amazon Kendra,則會在BatchPutDocument和的 FailedDocuments response 屬性中傳回文件的識別碼BatchDeleteDocumentAPIs。

  • DocumentsModified使用與此同步工作BatchPutDocumentAPI相關聯 (在 Amazon Kendra 索引中修改) 提交的已修改文件數目。

Amazon Kendra 也會在索引文件時發出 Amazon CloudWatch 量度。如需詳細資訊,請參閱Amazon Kendra 使用監視 Amazon CloudWatch

Amazon Kendra 不會傳回自訂資料來源的DocumentsScanned指標。它也會針對 Amazon Kendra 資料來源發出文件「度量」中列出的量度。 CloudWatch

進一步了解

若要深入瞭解如何 Amazon Kendra 與自訂資料來源整合,請參閱: