Benutzerdefinierter Datenquellen-Connector - Amazon Kendra

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Benutzerdefinierter Datenquellen-Connector

Verwenden Sie eine benutzerdefinierte Datenquelle, wenn Sie über ein Repository verfügen, für das noch Amazon Kendra kein Datenquellen-Connector zur Verfügung steht. Sie können damit dieselben Metriken zum Ausführungsverlauf anzeigen, die Amazon Kendra Datenquellen bereitstellen, auch wenn Sie die Datenquellen nicht zum Synchronisieren Ihrer Amazon Kendra Repositorys verwenden können. Verwenden Sie dies, um eine konsistente Synchronisierungsüberwachung zwischen Amazon Kendra Datenquellen und benutzerdefinierten Datenquellen zu gewährleisten. Verwenden Sie insbesondere eine benutzerdefinierte Datenquelle, um Synchronisierungsmetriken für einen Datenquellenconnector anzuzeigen, den Sie mit BatchPutDocumentund erstellt haben BatchDeleteDocument APIs.

Informationen zur Fehlerbehebung bei Ihrem benutzerdefinierten Amazon Kendra-Datenquellen-Connector finden Sie unterProblembehandlung bei Datenquellen.

Wenn Sie eine benutzerdefinierte Datenquelle erstellen, haben Sie die vollständige Kontrolle darüber, wie die zu indizierenden Dokumente ausgewählt werden. Amazon Kendra stellt nur Metrikinformationen bereit, die Sie zur Überwachung Ihrer Datenquellen-Synchronisierungsaufträge verwenden können. Sie müssen den Crawler erstellen und ausführen, der bestimmt, welche Dokumente Ihre Datenquelle indexiert.

Sie müssen den Haupttitel Ihrer Dokumente mithilfe des Document-Objekts angeben, um das Ergebnis zu erhalten DocumentTitle und DocumentURI in die Antwort aufzunehmen. _source_uri DocumentAttributeQuery

Sie erstellen einen Bezeichner für Ihre benutzerdefinierte Datenquelle mithilfe der Konsole oder mithilfe der CreateDataSourceAPI. Um die Konsole zu verwenden, geben Sie Ihrer Datenquelle einen Namen und optional eine Beschreibung und Ressourcen-Tags. Nachdem die Datenquelle erstellt wurde, wird eine Datenquellen-ID angezeigt. Kopieren Sie diese ID, um sie zu verwenden, wenn Sie die Datenquelle mit dem Index synchronisieren.

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

Sie können mithilfe der CreateDataSource API auch eine benutzerdefinierte Datenquelle erstellen. Die API gibt eine ID zurück, die Sie verwenden können, wenn Sie die Datenquelle synchronisieren. Wenn Sie die CreateDataSource API verwenden, um eine benutzerdefinierte Datenquelle zu erstellen, können Sie die Configuration Schedule Parameter RoleArn oder nicht festlegen. Wenn Sie diese Parameter festlegen, wird eine ValidationException Ausnahme Amazon Kendra zurückgegeben.

Um eine benutzerdefinierte Datenquelle zu verwenden, erstellen Sie eine Anwendung, die für die Aktualisierung des Amazon Kendra Index verantwortlich ist. Die Anwendung hängt von einem Crawler ab, den Sie erstellen. Der Crawler liest die Dokumente in Ihrem Repository und bestimmt, an welche Dokumente gesendet werden sollen. Amazon Kendra Ihre Anwendung sollte die folgenden Schritte ausführen:

  1. Durchforsten Sie Ihr Repository und erstellen Sie eine Liste der Dokumente in Ihrem Repository, die hinzugefügt, aktualisiert oder gelöscht wurden.

  2. Rufen Sie die StartDataSourceSyncJobAPI auf, um zu signalisieren, dass ein Synchronisierungsjob gestartet wird. Sie geben eine Datenquellen-ID an, um die Datenquelle zu identifizieren, die synchronisiert wird. Amazon Kendra gibt eine Ausführungs-ID zurück, um einen bestimmten Synchronisierungsjob zu identifizieren.

  3. Rufen Sie die BatchDeleteDocumentAPI auf, um Dokumente aus dem Index zu entfernen. Sie geben die Datenquellen-ID und die Ausführungs-ID an, um die Datenquelle zu identifizieren, die synchronisiert wird, und den Job, dem dieses Update zugeordnet ist.

  4. Rufen Sie die StopDataSourceSyncJobAPI auf, um das Ende des Synchronisierungsauftrags zu signalisieren. Nachdem Sie die StopDataSourceSyncJob API aufgerufen haben, ist die zugehörige Ausführungs-ID nicht mehr gültig.

  5. Rufen Sie die ListDataSourceSyncJobsAPI mit den Index- und Datenquellen-IDs auf, um die Synchronisierungsjobs für die Datenquelle aufzulisten und die Metriken für die Synchronisierungsjobs anzuzeigen.

Nachdem Sie einen Synchronisierungsjob beendet haben, können Sie einen neuen Synchronisierungsjob starten. Es kann eine gewisse Zeit dauern, bis alle eingereichten Dokumente dem Index hinzugefügt werden. Verwenden Sie die ListDataSourceSyncJobs API, um den Status des Synchronisierungsauftrags zu sehen. Wenn der für den Synchronisierungsjob Status zurückgegebene Wert lautetSYNCING_INDEXING, werden einige Dokumente noch indexiert. Sie können einen neuen Synchronisierungsauftrag starten, wenn der Status des vorherigen Jobs FAILED oder SUCCEEDED lautet.

Nachdem Sie die StopDataSourceSyncJob API aufgerufen haben, können Sie in einem Aufruf von BatchPutDocument oder keine Synchronisierungsauftrags-ID verwenden BatchDeleteDocument APIs. Wenn Sie dies tun, werden alle eingereichten Dokumente in der FailedDocuments Antwortnachricht der API zurückgegeben.

Erforderliche Attribute

Wenn Sie ein Dokument Amazon Kendra über die BatchPutDocument API einreichen, benötigt jedes Dokument zwei Attribute, um die Datenquelle und den Synchronisierungslauf zu identifizieren, zu dem es gehört. Sie müssen die folgenden beiden Attribute angeben, um Dokumente aus Ihrer benutzerdefinierten Datenquelle korrekt einem Amazon Kendra Index zuzuordnen:

  • _data_source_id— Der Bezeichner der Datenquelle. Dieser Wert wird zurückgegeben, wenn Sie die Datenquelle mit der Konsole oder der CreateDataSource API erstellen.

  • _data_source_sync_job_execution_id— Der Bezeichner des Synchronisierungslaufs. Dies wird zurückgegeben, wenn Sie die Indexsynchronisierung mit der StartDataSourceSyncJob API starten.

Im Folgenden finden Sie die JSON-Daten, die für die Indexierung eines Dokuments mithilfe einer benutzerdefinierten Datenquelle erforderlich sind.

{ "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" }

Wenn Sie ein Dokument mithilfe der BatchDeleteDocument API aus dem Index entfernen, müssen Sie die folgenden beiden Felder im DataSourceSyncJobMetricTarget Parameter angeben:

  • DataSourceId— Der Bezeichner der Datenquelle. Dieser Wert wird zurückgegeben, wenn Sie die Datenquelle mit der Konsole oder der CreateDataSource API erstellen.

  • DataSourceSyncJobId— Der Bezeichner des Synchronisierungslaufs. Dies wird zurückgegeben, wenn Sie die Indexsynchronisierung mit der StartDataSourceSyncJob API starten.

Das Folgende ist das JSON, das erforderlich ist, um ein Dokument mithilfe der BatchDeleteDocument API aus dem Index zu löschen.

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

Anzeigen von -Metriken

Nach Abschluss eines Synchronisierungsauftrags können Sie die DataSourceSyncJobMetricsAPI verwenden, um die mit dem Synchronisierungsjob verknüpften Metriken abzurufen. Verwenden Sie dies, um Ihre benutzerdefinierten Datenquellensynchronisierungen zu überwachen.

Wenn Sie dasselbe Dokument mehrmals einreichen, entweder als Teil der BatchPutDocument API, der API oder wenn das BatchDeleteDocument Dokument sowohl zum Hinzufügen als auch zum Löschen eingereicht wird, wird das Dokument in den Kennzahlen nur einmal gezählt.

  • DocumentsAdded— Die Anzahl der Dokumente, die über die BatchPutDocument API eingereicht wurden, die mit diesem Synchronisierungsjob verknüpft ist, wurde dem Index zum ersten Mal hinzugefügt. Wenn ein Dokument mehr als einmal synchron zur Hinzufügung eingereicht wird, wird das Dokument in den Kennzahlen nur einmal gezählt.

  • DocumentsDeleted— Die Anzahl der Dokumente, die über die BatchDeleteDocument API eingereicht wurden, die mit diesem Synchronisierungsauftrag verknüpft ist, wurde aus dem Index gelöscht. Wenn ein Dokument bei einer Synchronisation mehr als einmal zum Löschen eingereicht wird, wird das Dokument in den Kennzahlen nur einmal gezählt.

  • DocumentsFailed— Die Anzahl der Dokumente, die mit diesem Synchronisierungsauftrag verknüpft sind und bei dem die Indizierung fehlgeschlagen ist. Dies sind Dokumente, die von Amazon Kendra zur Indizierung akzeptiert wurden, aber nicht indexiert oder gelöscht werden konnten. Wenn ein Dokument von nicht akzeptiert wird Amazon Kendra, wird der Bezeichner für das Dokument in der FailedDocuments Antworteigenschaft von and zurückgegeben. BatchPutDocument BatchDeleteDocument APIs

  • DocumentsModified— Die Anzahl der geänderten Dokumente, die über die diesem Synchronisierungsauftrag zugeordnete BatchPutDocument API übermittelt wurden und die im Amazon Kendra Index geändert wurden.

Amazon Kendra gibt bei der Indizierung von Dokumenten auch Amazon CloudWatch Metriken aus. Weitere Informationen finden Sie unter Überwachung Amazon Kendra mit. Amazon CloudWatch

Amazon Kendra gibt die DocumentsScanned Metrik für benutzerdefinierte Datenquellen nicht zurück. Es gibt auch die im Dokument CloudWatch Metriken für Amazon Kendra Datenquellen aufgeführten Metriken aus.

Weitere Informationen

Weitere Informationen zur Integration Amazon Kendra mit Ihrer benutzerdefinierten Datenquelle finden Sie unter: