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.
Direktes Hinzufügen von Dokumenten zu einem Index mit Batch-Upload
Mithilfe der BatchPutDocumentAPI können Sie Dokumente direkt zu einem Index hinzufügen. Sie können Dokumente nicht direkt über die Konsole hinzufügen. Wenn Sie die Konsole verwenden, stellen Sie eine Verbindung zu einer Datenquelle her, um Dokumente zu Ihrem Index hinzuzufügen. Dokumente können aus einem S3-Bucket hinzugefügt oder als Binärdaten bereitgestellt werden. Eine Liste der von unterstützten Dokumenttypen Amazon Kendra finden Sie unter Dokumenttypen.
Das Hinzufügen von Dokumenten zu einem Index mithilfe BatchPutDocument
ist ein asynchroner Vorgang. Nachdem Sie die BatchPutDocument
API aufgerufen haben, verwenden Sie die BatchGetDocumentStatusAPI, um den Fortschritt der Indizierung Ihrer Dokumente zu überwachen. Wenn Sie die BatchGetDocumentStatus
API mit einer Liste von Dokumenten aufrufen IDs, gibt sie den Status des Dokuments zurück. Wenn der Status des Dokuments INDEXED
oder istFAILED
, ist die Verarbeitung des Dokuments abgeschlossen. Wenn der Status lautetFAILED
, gibt die BatchGetDocumentStatus
API den Grund zurück, warum das Dokument nicht indexiert werden konnte.
Wenn Sie die Felder oder Attribute Ihrer Inhalte und Dokumentmetadaten während der Dokumentaufnahme ändern möchten, finden Sie weitere Informationen unter Amazon Kendra Benutzerdefinierte Anreicherung von Dokumenten. Wenn Sie eine benutzerdefinierte Datenquelle verwenden möchten, benötigt jedes Dokument, das Sie über die BatchPutDocument
API einreichen, eine Datenquellen-ID und eine Ausführungs-ID als Attribute oder Felder. Weitere Informationen finden Sie unter Erforderliche Attribute für benutzerdefinierte Datenquellen.
Anmerkung
Jede Dokument-ID muss pro Index eindeutig sein. Sie können keine Datenquelle erstellen, um Ihre Dokumente eindeutig zu indizieren, IDs und dann die BatchPutDocument
API verwenden, um dieselben Dokumente zu indizieren, oder umgekehrt. Sie können eine Datenquelle löschen und dann die BatchPutDocument
API verwenden, um dieselben Dokumente zu indizieren, oder umgekehrt. Die Verwendung von BatchPutDocument
und BatchDeleteDocument
APIs in Kombination mit einem Amazon Kendra
Datenquellen-Konnektor für denselben Satz von Dokumenten kann zu Inkonsistenzen mit Ihren Daten führen. Stattdessen empfehlen wir die Verwendung des Amazon Kendra benutzerdefinierten Datenquellen-Connectors.
Die folgenden Dokumente im Entwicklerhandbuch zeigen, wie Sie Dokumente direkt zu einem Index hinzufügen können.
Dokumente mit der BatchPutDocument API hinzufügen
Im folgenden Beispiel wird einem Index durch Aufrufen BatchPutDocumentein Textblock hinzugefügt. Sie können die BatchPutDocument
API verwenden, um Dokumente direkt zu Ihrem Index hinzuzufügen. Eine Liste der von unterstützten Dokumenttypen Amazon Kendra finden Sie unter Dokumenttypen.
Ein Beispiel für die Erstellung eines Indexes mit dem AWS CLI und SDKs finden Sie unter Index erstellen. Informationen zum Einrichten der CLI und SDKs finden Sie unter Einrichtung Amazon Kendra.
Anmerkung
Dem Index hinzugefügte Dateien müssen sich in einem UTF-8-codierten Bytestream befinden.
In den folgenden Beispielen wird UTF-8-codierter Text zum Index hinzugefügt.
Verwenden Sie in der AWS Command Line Interface den folgenden Befehl. Der Befehl ist für Linux und macOS formatiert. Wenn Sie Windows verwenden, ersetzen Sie das Unix-Zeilenfortsetzungszeichen (\) durch ein Caret (^).
aws kendra batch-put-document \ --index-id
index-id
\ --documents '{"Id":"doc-id-1", "Blob":"Amazon.com is an online retailer.", "ContentType":"PLAIN_TEXT", "Title":"Information about Amazon.com"}'
Dokumente aus einem S3-Bucket hinzufügen
Mithilfe der BatchPutDocumentAPI können Sie Dokumente direkt aus einem Amazon S3 Bucket zu Ihrem Index hinzufügen. Sie können im selben Aufruf bis zu 10 Dokumente hinzufügen. Wenn Sie einen S3-Bucket verwenden, müssen Sie eine IAM Rolle mit der Berechtigung für den Zugriff auf den Bucket angeben, der Ihre Dokumente enthält. Sie geben die Rolle im RoleArn
Parameter an.
Die Verwendung der BatchPutDocumentAPI zum Hinzufügen von Dokumenten aus einem Amazon S3 Bucket ist ein einmaliger Vorgang. Um einen Index mit dem Inhalt eines Buckets zu synchronisieren, erstellen Sie eine Amazon S3 Datenquelle. Weitere Informationen finden Sie unter Amazon S3 Datenquelle.
Ein Beispiel für die Erstellung eines Indexes mit dem AWS CLI und SDKs finden Sie unter Index erstellen. Informationen zum Einrichten der CLI und SDKs finden Sie unter Einrichtung Amazon Kendra. Informationen zum Erstellen eines S3-Buckets finden Sie in der Amazon Simple Storage Service Dokumentation.
Im folgenden Beispiel werden dem Index mithilfe der BatchPutDocument
API zwei Microsoft Word-Dokumente hinzugefügt.
import boto3
kendra = boto3.client("kendra")
# Provide the index ID
index_id = "index-id"
# Provide the IAM role ARN required to index documents in an S3 bucket
role_arn = "arn:aws:iam::${acccountID}:policy/${roleName}"
doc1_s3_file_data = {
"Bucket": "bucket-name",
"Key": "document1.docx"
}
doc1_document = {
"S3Path": doc1_s3_file_data,
"Title": "Document 1 title",
"Id": "doc_1"
}
doc2_s3_file_data = {
"Bucket": "bucket-name",
"Key": "document2.docx"
}
doc2_document = {
"S3Path": doc2_s3_file_data,
"Title": "Document 2 title",
"Id": "doc_2"
}
documents = [
doc1_document,
doc2_document
]
result = kendra.batch_put_document(
Documents = documents,
IndexId = index_id,
RoleArn = role_arn
)
print(result)