사용자 지정 데이터 소스 커넥터 - Amazon Kendra

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

사용자 지정 데이터 소스 커넥터

아직 데이터 원본 커넥터를 제공하지 Amazon Kendra 않는 저장소가 있는 경우 사용자 지정 데이터 원본을 사용하세요. 의 데이터 원본을 사용하여 리포지토리를 동기화할 수 없는 경우에도 이를 사용하여 Amazon Kendra Amazon Kendra데이터 원본이 제공하는 것과 동일한 실행 기록 측정항목을 볼 수 있습니다. 이를 사용하여 Amazon Kendra 데이터 원본과 사용자 지정 원본 간에 일관된 동기화 모니터링 환경을 만들 수 있습니다. 특히 사용자 지정 데이터 소스를 사용하면 BatchPut문서 및 BatchDelete문서 API를 사용하여 만든 데이터 소스 커넥터의 동기화 지표를 확인할 수 있습니다.

Amazon Kendra 사용자 지정 데이터 소스 커넥터의 문제를 해결하려면 데이터 소스 문제 해결을 참조하세요.

사용자 지정 데이터 소스를 만들면 인덱싱할 문서를 선택하는 방법을 완전히 제어할 수 있습니다. Amazon Kendra 데이터 소스 동기화 작업을 모니터링하는 데 사용할 수 있는 지표 정보만 제공합니다. 데이터 소스가 인덱싱하는 문서를 결정하는 크롤러를 만들고 실행해야 합니다.

Document 객체를 사용하여 문서의 기본 제목을 지정해야 하며, Query 결과의 _source_uri DocumentAttribute응답에 DocumentURI 포함되도록 하려면 문서의 기본 제목을 지정해야 DocumentTitle 합니다.

콘솔이나 Source API를 사용하여 사용자 지정 데이터 CreateData원본의 식별자를 만듭니다. 콘솔을 사용하려면 데이터 소스에 이름을 지정하고 선택적으로 설명과 리소스 태그를 지정하세요. 데이터 소스가 생성되면 데이터 소스 ID가 표시됩니다. 데이터 소스를 인덱스와 동기화할 때 사용하려면 이 ID를 복사합니다.

CreateDataSource API를 사용하여 사용자 지정 데이터 소스를 생성할 수도 있습니다. API는 데이터 소스를 동기화할 때 사용할 ID를 반환합니다. CreateDataSource API를 사용하여 사용자 지정 데이터 소스를 만들 때는 Configuration, RoleArn 또는 Schedule 파라미터를 설정할 수 없습니다. 이러한 매개변수를 설정하면 ValidationException 예외가 Amazon Kendra 반환됩니다.

사용자 지정 데이터 소스를 사용하려면 Amazon Kendra 인덱스 업데이트를 담당하는 애플리케이션을 만드세요. 애플리케이션은 사용자가 만든 크롤러에 따라 달라집니다. 크롤러는 리포지토리의 문서를 읽고 Amazon Kendra에 무엇을 보낼지 결정합니다. 애플리케이션에서는 다음 절차를 수행합니다.

  1. 리포지토리를 크롤링하고 리포지토리에서 추가, 업데이트 또는 삭제된 문서 목록을 만드세요.

  2. StartDataSourceSyncJob API를 호출하여 동기화 작업이 시작되고 있음을 알립니다. 데이터 소스 ID를 제공하여 동기화 중인 데이터 소스를 식별합니다. Amazon Kendra 실행 ID를 반환하여 특정 동기화 작업을 식별합니다.

  3. BatchDeleteDocument API를 호출하여 색인에서 문서를 제거합니다. 데이터 소스 ID와 실행 ID를 제공하여 동기화 중인 데이터 소스 및 이 업데이트와 관련된 작업을 식별할 수 있습니다.

  4. StopDataSourceSyncJob API를 호출하여 동기화 작업 종료를 알립니다. StopDataSourceSyncJob API를 호출한 후에는 연결된 실행 ID가 더 이상 유효하지 않습니다.

  5. 인덱스 및 데이터 소스 식별자와 함께 ListDataSourceSyncJobs API를 호출하여 데이터 원본의 동기화 작업을 나열하고 동기화 작업에 대한 지표를 확인합니다.

동기화 작업을 종료한 후 새 동기화 작업을 시작할 수 있습니다. 제출된 모든 문서가 인덱스에 추가되기까지 일정 시간이 걸릴 수 있습니다. ListDataSourceSyncJobs API를 사용하여 동기화 작업의 상태를 확인합니다. Status가 동기화 작업에 대해 반환한 값이 SYNCING_INDEXING인 경우 일부 문서는 여전히 인덱싱되고 있습니다. 이전 작업의 상태가 FAILED 또는 SUCCEEDED 일 때 새 동기화 작업을 시작할 수 있습니다.

StopDataSourceSyncJob API를 호출한 후에는 BatchPutDocument 또는 BatchDeleteDocument API를 호출할 때 동기화 작업 식별자를 사용할 수 없습니다. 이렇게 하면 제출된 모든 문서가 API의 FailedDocuments 응답 메시지로 반환됩니다.

필수 속성

BatchPutDocumentAPI를 Amazon Kendra 사용하여 문서를 제출할 때 각 문서에는 해당 문서가 속한 데이터 소스 및 동기화 실행을 식별하는 두 가지 속성이 필요합니다. 사용자 지정 데이터 소스의 문서를 Amazon Kendra 인덱스에 올바르게 매핑하려면 다음 두 속성을 제공해야 합니다.

  • _data_source_id - 데이터 소스의 식별자입니다. 콘솔 또는 CreateDataSource API로 데이터 소스를 만들면 이 값이 반환됩니다.

  • _data_source_sync_job_execution_id - 동기화 실행의 식별자. StartDataSourceSyncJob API와 인덱스 동기화를 시작하면 이 값이 반환됩니다.

다음은 사용자 지정 데이터 소스를 사용하여 문서를 인덱싱하는 데 필요한 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" }

BatchDeleteDocument API를 사용하여 인덱스에서 문서를 제거하는 경우 DataSourceSyncJobMetricTarget 파라미터에 다음 두 필드를 지정해야 합니다.

  • DataSourceId - 데이터 소스의 식별자입니다. 콘솔 또는 CreateDataSource API로 데이터 소스를 만들면 이 값이 반환됩니다.

  • DataSourceSyncJobId - 동기화 실행의 식별자. StartDataSourceSyncJob API와 인덱스 동기화를 시작하면 이 값이 반환됩니다.

다음은 BatchDeleteDocument API를 사용하여 인덱스에서 문서를 삭제하는 데 필요한 JSON입니다.

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

지표 보기

동기화 작업이 완료된 후 DataSourceSyncJobMetrics API를 사용하여 동기화 작업과 관련된 지표를 가져올 수 있습니다. 이를 사용하여 사용자 지정 데이터 소스 동기화를 모니터링할 수 있습니다.

BatchPutDocument API나 BatchDeleteDocument API의 일부로 동일한 문서를 여러 번 제출하거나 추가 및 삭제를 위해 문서를 제출한 경우, 지표에서 문서가 한 번만 계산됩니다.

  • DocumentsAdded - 이 동기화 작업과 관련된 BatchPutDocument API를 사용하여 제출된 문서 수가 처음으로 인덱스에 추가되었습니다. 동기화된 상태에서 문서를 두 번 이상 추가하도록 제출하는 경우 해당 문서는 지표에서 한 번만 계산됩니다.

  • DocumentsDeleted - 인덱스에서 삭제된 이 동기화 작업과 연결된 BatchDeleteDocument API를 사용하여 제출된 문서 수입니다. 동기화된 상태에서 문서를 두 번 이상 삭제하도록 제출하는 경우 해당 문서는 지표에서 한 번만 계산됩니다.

  • DocumentsFailed - 이 동기화 작업과 관련된 문서 중 인덱싱에 실패한 문서 수입니다. 이러한 문서는 Amazon Kendra 에 의해 인덱싱이 승인되었지만 인덱스되거나 삭제할 수 없었습니다. 에서 문서를 수락하지 않으면 BatchPutDocumentBatchDeleteDocument API의 FailedDocuments 응답 속성에 문서 식별자가 반환됩니다. Amazon Kendra

  • DocumentsModified—이 동기화 작업과 관련된 BatchPutDocument API를 사용하여 제출된 수정된 문서 중 색인에서 수정된 문서 수. Amazon Kendra

Amazon Kendra 또한 문서를 인덱싱하는 동안 Amazon CloudWatch 메트릭을 내보냅니다. 자세한 내용은 Amazon Kendra 모니터링을 참조하십시오. Amazon CloudWatch

Amazon Kendra 사용자 지정 데이터 소스의 DocumentsScanned 메트릭을 반환하지 않습니다. 또한 Amazon Kendra 데이터 소스의 지표 문서에 나열된 CloudWatch 지표를 내보냅니다.

자세히 알아보기

사용자 지정 데이터 Amazon Kendra 소스와의 통합에 대해 자세히 알아보려면 다음을 참조하십시오.