Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

Benutzerdefinierte Datenquelle (Java)

Fokusmodus
Benutzerdefinierte Datenquelle (Java) - 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.

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.

Der folgende Code enthält eine Beispielimplementierung einer benutzerdefinierten Datenquelle mit Java. Das Programm erstellt zunächst eine benutzerdefinierte Datenquelle und synchronisiert dann neu hinzugefügte Dokumente mit der benutzerdefinierten Datenquelle zum Index.

Der folgende Code veranschaulicht das Erstellen und Verwenden einer benutzerdefinierten Datenquelle. Wenn Sie in Ihrer Anwendung eine benutzerdefinierte Datenquelle verwenden, müssen Sie nicht jedes Mal, wenn Sie Ihren Index mit Ihrer Datenquelle synchronisieren, eine neue Datenquelle erstellen (einmaliger Vorgang). Sie verwenden die Index-ID und die Datenquellen-ID, um Ihre Daten zu synchronisieren.

package com.amazonaws.kendra; import java.util.concurrent.TimeUnit; import software.amazon.awssdk.services.kendra.KendraClient; import csoftware.amazon.awssdk.services.kendra.model.BatchPutDocumentRequest; import csoftware.amazon.awssdk.services.kendra.model.BatchPutDocumentResponse; import software.amazon.awssdk.services.kendra.model.CreateDataSourceRequest; import software.amazon.awssdk.services.kendra.model.CreateDataSourceResponse; import software.amazon.awssdk.services.kendra.model.DataSourceType; import software.amazon.awssdk.services.kendra.model.Document; import software.amazon.awssdk.services.kendra.model.ListDataSourceSyncJobsRequest; import software.amazon.awssdk.services.kendra.model.ListDataSourceSyncJobsResponse; import software.amazon.awssdk.services.kendra.model.StartDataSourceSyncJobRequest; import software.amazon.awssdk.services.kendra.model.StartDataSourceSyncJobResponse; import software.amazon.awssdk.services.kendra.model.StopDataSourceSyncJobRequest; import software.amazon.awssdk.services.kendra.model.StopDataSourceSyncJobResponse; public class SampleSyncForCustomDataSource { public static void main(String[] args) { KendraClient kendra = KendraClient.builder().build(); String myIndexId = "yourIndexId"; String dataSourceName = "custom data source"; String dataSourceDescription = "Amazon Kendra custom data source connector" // Create custom data source CreateDataSourceRequest createDataSourceRequest = CreateDataSourceRequest .builder() .indexId(myIndexId) .name(dataSourceName) .description(dataSourceDescription) .type(DataSourceType.CUSTOM) .build(); CreateDataSourceResponse createDataSourceResponse = kendra.createDataSource(createDataSourceRequest); System.out.println(String.format("Response of creating data source: %s", createDataSourceResponse)); // Get the data source ID from createDataSourceResponse String dataSourceId = createDataSourceResponse.Id(); // Wait for the custom data source to become active System.out.println(String.format("Waiting for Amazon Kendra to create the data source %s", dataSourceId)); // You can use the DescribeDataSource API to check the status DescribeDataSourceRequest describeDataSourceRequest = DescribeDataSourceRequest .builder() .indexId(myIndexId) .id(dataSourceId) .build(); while (true) { DescribeDataSourceResponse describeDataSourceResponse = kendra.describeDataSource(describeDataSourceRequest); DataSourceStatus status = describeDataSourceResponse.status(); System.out.println(String.format("Creating data source. Status: %s", status)); if (status != DataSourceStatus.CREATING) { break; } TimeUnit.SECONDS.sleep(60); } // Start syncing yor data source by calling StartDataSourceSyncJob and providing your index ID // and your custom data source ID System.out.println(String.format("Synchronize the data source %s", dataSourceId)); StartDataSourceSyncJobRequest startDataSourceSyncJobRequest = StartDataSourceSyncJobRequest .builder() .indexId(myIndexId) .id(dataSourceId) .build(); StartDataSourceSyncJobResponse startDataSourceSyncJobResponse = kendra.startDataSourceSyncJob(startDataSourceSyncJobRequest); // Get the sync job execution ID from startDataSourceSyncJobResponse String executionId = startDataSourceSyncJobResponse.ExecutionId(); System.out.println(String.format("Waiting for the data source to sync with the index %s for execution ID %s", indexId, startDataSourceSyncJobResponse.executionId())); // Add 2 documents uploaded to S3 bucket to your index using the BatchPutDocument API // The added documents should sync with your custom data source Document pollyDoc = Document .builder() .s3Path( S3Path.builder() .bucket("amzn-s3-demo-bucket") .key("what_is_Amazon_Polly.docx") .build()) .title("What is Amazon Polly?") .id("polly_doc_1") .build(); Document rekognitionDoc = Document .builder() .s3Path( S3Path.builder() .bucket("amzn-s3-demo-bucket") .key("what_is_amazon_rekognition.docx") .build()) .title("What is Amazon rekognition?") .id("rekognition_doc_1") .build(); BatchPutDocumentRequest batchPutDocumentRequest = BatchPutDocumentRequest .builder() .indexId(myIndexId) .documents(pollyDoc, rekognitionDoc) .build(); BatchPutDocumentResponse result = kendra.batchPutDocument(batchPutDocumentRequest); System.out.println(String.format("BatchPutDocument result: %s", result)); // Once custom data source synced, stop the sync job using the StopDataSourceSyncJob API StopDataSourceSyncJobResponse stopDataSourceSyncJobResponse = kendra.stopDataSourceSyncJob( StopDataSourceSyncJobRequest() .indexId(myIndexId) .id(dataSourceId) ); // List your sync jobs ListDataSourceSyncJobsRequest listDataSourceSyncJobsRequest = ListDataSourceSyncJobsRequest .builder() .indexId(myIndexId) .id(dataSourceId) .build(); while (true) { ListDataSourceSyncJobsResponse listDataSourceSyncJobsResponse = kendra.listDataSourceSyncJobs(listDataSourceSyncJobsRequest); DataSourceSyncJob job = listDataSourceSyncJobsResponse.history().get(0); System.out.println(String.format("Status: %s", job.status())); } } }
DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.