

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
<a name="data-source-custom"></a>

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 as [BatchDeleteDocument](https://docs.aws.amazon.com/kendra/latest/APIReference/API_BatchDeleteDocument.html)APIs [BatchPutDocument](https://docs.aws.amazon.com/kendra/latest/APIReference/API_BatchPutDocument.html)e.

Para solucionar problemas do conector da fonte de dados do Amazon Kendra, consulte [Solucionar problemas de origens de dados](troubleshooting-data-sources.md).

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](https://docs.aws.amazon.com/kendra/latest/APIReference/API_Document.html) `DocumentTitle` e para `DocumentURI` incluí-lo na resposta do `Query` resultado. `_source_uri` [DocumentAttribute](https://docs.aws.amazon.com/kendra/latest/APIReference/API_DocumentAttribute.html)

Você cria um identificador para sua fonte de dados personalizada usando o console ou usando a [CreateDataSource](https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateDataSource.html)API. 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.

![Formulário para especificar detalhes da fonte de dados, incluindo nome, descrição e tags opcionais.](http://docs.aws.amazon.com/pt_br/kendra/latest/dg/images/CustomDataSource.png)


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.

1. Chame a [StartDataSourceSyncJob](https://docs.aws.amazon.com/kendra/latest/APIReference/API_StartDataSourceSyncJob.html)API 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.

1. Chame a [BatchDeleteDocument](https://docs.aws.amazon.com/kendra/latest/APIReference/API_BatchDeleteDocument.html)API 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.

1. Chame a [StopDataSourceSyncJob](https://docs.aws.amazon.com/kendra/latest/APIReference/API_StopDataSourceSyncJob.html)API 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.

1. Chame a [ListDataSourceSyncJobs](https://docs.aws.amazon.com/kendra/latest/APIReference/API_ListDataSourceSyncJobs.html)API com os identificadores de índice e 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 API `StopDataSourceSyncJob`, você não pode usar um identificador de trabalho de sincronização em uma chamada para as APIs `BatchPutDocument` ou `BatchDeleteDocument`. Se você fizer isso, todos os documentos enviados serão retornados na mensagem de resposta `FailedDocuments` da API.

## Atributos obrigatórios
<a name="custom-required-attributes"></a>

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
<a name="custom-metrics"></a>

Depois que um trabalho de sincronização for concluído, você poderá usar a [DataSourceSyncJobMetrics](https://docs.aws.amazon.com/kendra/latest/APIReference/API_DataSourceSyncJobMetrics.html)API 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 das `BatchDeleteDocument` APIs `BatchPutDocument` 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](https://docs.aws.amazon.com/kendra/latest/dg/cloudwatch-metrics.html).

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](https://docs.aws.amazon.com/kendra/latest/dg/cloudwatch-metrics.html#cloudwatch-metrics-data-source).

## Saiba mais
<a name="custom-learn-more"></a>

Para saber mais sobre a integração Amazon Kendra com sua fonte de dados personalizada, consulte:
+ [Adicionar fontes de dados personalizadas ao Amazon Kendra](https://aws.amazon.com/blogs/machine-learning/adding-custom-data-sources-to-amazon-kendra/)