Conectores de fontes de dados personalizados - Amazon Kendra

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Conectores de fontes de dados personalizados

Use uma fonte de dados personalizada quando você tiver um repositório que ainda Amazon Kendra não fornece um conector de fonte de dados para. Você pode usá-lo para ver as mesmas métricas de histórico de execução que as fontes de Amazon Kendra dados fornecem, mesmo quando você não pode usar as fontes Amazon Kendra de dados para sincronizar seus repositórios. Use isso para criar uma experiência consistente de monitoramento de sincronização entre fontes de Amazon Kendra dados e fontes personalizadas. Especificamente, use uma fonte de dados personalizada para ver as métricas de sincronização de um conector de fonte de dados que você criou usando BatchPutDocumentBatchDeleteDocument APIse.

Para solucionar problemas do conector da fonte de dados do Amazon Kendra, consulte Solucionar problemas de origens de dados.

Ao criar uma fonte de dados personalizada, você tem controle total sobre como os documentos a serem indexados são selecionados. Amazon Kendra fornece apenas informações métricas que você pode usar para monitorar seus trabalhos de sincronização de fontes de dados. Você deve criar e executar o crawler que determina os documentos indexados pela fonte de dados.

Você deve especificar o título principal de seus documentos usando o objeto Documento DocumentTitle e para DocumentURI incluí-lo na resposta do Query resultado. _source_uri DocumentAttribute

Você cria um identificador para sua fonte de dados personalizada usando o console ou usando a CreateDataSourceAPI. Para usar o console, dê um nome à sua fonte de dados e, opcionalmente, uma descrição e tags de recursos. Depois que a fonte de dados é criada, um ID da fonte de dados é exibida. Copie esse ID para usar ao sincronizar a fonte de dados com o índice.

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

Também é possível criar uma fonte de dados personalizada usando a API CreateDataSource. A API retorna um ID para ser usado quando ao sincronizar a fonte de dados. Ao usar a API CreateDataSource para criar uma fonte de dados personalizada, não é possível definir os parâmetros Configuration, RoleArn ou Schedule. Se você definir esses parâmetros, Amazon Kendra retornará uma ValidationException exceção.

Para usar uma fonte de dados personalizada, crie um aplicativo responsável pela atualização do índice do Amazon Kendra . O aplicativo depende de um crawler criado por você. O crawler lê os documentos em seu repositório e determina quais devem ser enviados para Amazon Kendra. O aplicativo deve executar as seguintes etapas:

  1. Rastreie o repositório e faça uma lista dos documentos no repositório que foram adicionados, atualizados ou excluídos.

  2. Chame a StartDataSourceSyncJobAPI para sinalizar que um trabalho de sincronização está começando. Você fornece uma ID da fonte de dados para identificar a fonte de dados que está sincronizando. Amazon Kendra retorna um ID de execução para identificar um trabalho de sincronização específico.

  3. Chame a BatchDeleteDocumentAPI para remover documentos do índice. Forneça o ID da fonte de dados e o ID de execução para identificar a fonte de dados que está sendo sincronizada e o trabalho ao qual essa atualização está associada.

  4. Chame a StopDataSourceSyncJobAPI para sinalizar o fim do trabalho de sincronização. Depois de chamar a API StopDataSourceSyncJob, o ID de execução associado não é mais válido.

  5. Chame a ListDataSourceSyncJobsAPI com os identificadores do índice e da fonte de dados para listar os trabalhos de sincronização da fonte de dados e ver as métricas dos trabalhos de sincronização.

Depois de finalizar um trabalho de sincronização, você pode iniciar um novo trabalho de sincronização. Pode haver um período de tempo até que todos os documentos enviados sejam adicionados ao índice. Use a API ListDataSourceSyncJobs para ver o status da tarefa de sincronização. Se o Status retornado para o trabalho de sincronização for SYNCING_INDEXING, alguns documentos ainda estão sendo indexados. Você pode iniciar um novo trabalho de sincronização quando o status do trabalho anterior for FAILED ou SUCCEEDED.

Depois de chamar a StopDataSourceSyncJob API, você não pode usar um identificador de trabalho de sincronização em uma chamada para o BatchPutDocument ou BatchDeleteDocument APIs. Se você fizer isso, todos os documentos enviados serão retornados na mensagem de resposta FailedDocuments da API.

Atributos obrigatórios

Quando você envia um documento para Amazon Kendra usar a BatchPutDocument API, cada documento exige dois atributos para identificar a fonte de dados e a execução de sincronização à qual ele pertence. Você deve fornecer os dois seguintes atributos para mapear documentos da sua fonte de dados personalizada corretamente para um índice do Amazon Kendra :

  • _data_source_id: o identificador da fonte de dados. Ele é retornado quando você cria a fonte de dados com o console ou a API CreateDataSource.

  • _data_source_sync_job_execution_id: o identificador da execução da sincronização. Ele é retornado quando você inicia a sincronização do índice com a API StartDataSourceSyncJob.

Veja a seguir o JSON necessário para indexar um documento usando uma fonte de dados personalizada.

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

Ao remover um documento do índice usando a API BatchDeleteDocument, especifique os dois campos a seguir no parâmetro DataSourceSyncJobMetricTarget:

  • DataSourceId: o identificador da fonte de dados. Ele é retornado quando você cria a fonte de dados com o console ou a API CreateDataSource.

  • DataSourceSyncJobId: o identificador da execução da sincronização. Ele é retornado quando você inicia a sincronização do índice com a API StartDataSourceSyncJob.

Veja a seguir o JSON necessário para excluir um documento do índice usando API BatchDeleteDocument.

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

Visualizar métricas

Depois que um trabalho de sincronização for concluído, você poderá usar a DataSourceSyncJobMetricsAPI para obter as métricas associadas ao trabalho de sincronização. Use ela para monitorar as sincronizações de fontes de dados personalizadas.

Se você enviar o mesmo documento várias vezes, seja como parte da API BatchPutDocument, da BatchDeleteDocument API ou se o documento for enviado para adição e exclusão, o documento será contado apenas uma vez nas métricas.

  • DocumentsAdded: o número de documentos enviados usando a API BatchPutDocument associada a esse trabalho de sincronização adicionados ao índice pela primeira vez. Se um documento for enviado para adição mais de uma vez em uma sincronização, ele será contabilizado apenas uma vez nas métricas.

  • DocumentsDeleted: o número de documentos enviados usando a API BatchDeleteDocument associada a esse trabalho de sincronização excluídos pelo índice.. Se um documento for enviado para exclusão mais de uma vez em uma sincronização, ele será contabilizado apenas uma vez nas métricas.

  • DocumentsFailed: o número de documentos associados a essa tarefa de sincronização que falharam na indexação. Esses são documentos que foram aceitos por Amazon Kendra para indexação, mas que não puderam ser indexados ou excluídos. Se um documento não for aceito por Amazon Kendra, o identificador do documento será retornado na propriedade de FailedDocuments resposta do BatchPutDocument BatchDeleteDocument APIs e.

  • DocumentsModified—O número de documentos modificados enviados usando a BatchPutDocument API associada a esse trabalho de sincronização que foram modificados no Amazon Kendra índice.

Amazon Kendra também emite Amazon CloudWatch métricas ao indexar documentos. Para obter mais informações, consulte Monitoramento Amazon Kendra com Amazon CloudWatch.

Amazon Kendra não retorna a DocumentsScanned métrica para fontes de dados personalizadas. Ele também emite as CloudWatch métricas listadas no documento Métricas para fontes Amazon Kendra de dados.

Saiba mais

Para saber mais sobre a integração Amazon Kendra com sua fonte de dados personalizada, consulte: