

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Conector de fuente de datos personalizado
<a name="data-source-custom"></a>

Utilice una fuente de datos personalizada cuando tenga un repositorio para el que aún Amazon Kendra no haya un conector de fuente de datos. Puedes usarlo para ver las mismas métricas del historial de ejecución que proporcionan las fuentes de Amazon Kendra datos, incluso si no puedes Amazon Kendra usarlas para sincronizar tus repositorios. Utilízala para crear una experiencia de supervisión de sincronización coherente entre las fuentes de Amazon Kendra datos y las personalizadas. En concreto, utilice una fuente de datos personalizada para ver las métricas de sincronización de un conector de fuente de datos que haya creado con las [BatchDeleteDocument](https://docs.aws.amazon.com/kendra/latest/APIReference/API_BatchDeleteDocument.html)API [BatchPutDocument](https://docs.aws.amazon.com/kendra/latest/APIReference/API_BatchPutDocument.html)y.

Para solucionar problemas del conector de origen de datos personalizado de Amazon Kendra, consulte [Solución de problemas con los orígenes de datos](troubleshooting-data-sources.md).

Al crear una fuente de datos personalizada, tiene un control total sobre cómo se seleccionan los documentos que se van a indexar. Amazon Kendra solo proporciona información métrica que puede utilizar para supervisar los trabajos de sincronización de la fuente de datos. Debe crear y ejecutar el rastreador que determina los documentos que indexa su origen de datos.

Debe especificar el título principal de los documentos mediante el objeto [Document](https://docs.aws.amazon.com/kendra/latest/APIReference/API_Document.html) y `_source_uri` para `DocumentTitle` `DocumentURI` incluirlo en la respuesta del `Query` resultado. [DocumentAttribute](https://docs.aws.amazon.com/kendra/latest/APIReference/API_DocumentAttribute.html)

Puede crear un identificador para su fuente de datos personalizada mediante la consola o la [CreateDataSource](https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateDataSource.html)API. Para usar la consola, asigne un nombre al origen de datos y, si lo desea, una descripción y etiquetas de recursos. Una vez creado el origen de datos, se muestra el ID correspondiente. Copie este ID para usarlo cuando sincronice el origen de datos con el índice.

![Formulario para especificar los detalles de la fuente de datos, incluidos el nombre, la descripción y las etiquetas opcionales.](http://docs.aws.amazon.com/es_es/kendra/latest/dg/images/CustomDataSource.png)


También puede crear un origen de datos personalizada mediante la API `CreateDataSource`. La API devuelve un ID para usarlo al sincronizar el origen de datos. Cuando utiliza la API `CreateDataSource` para crear un origen de datos personalizado, no puede configurar los parámetros `Configuration`, `RoleArn` o `Schedule`. Si establece estos parámetros, Amazon Kendra devuelve una `ValidationException` excepción.

Para usar un origen de datos personalizado, cree una aplicación que se encargue de actualizar el índice de Amazon Kendra . La aplicación depende del rastreador que cree. El rastreador lee los documentos del repositorio y determina cuáles se deben enviar a Amazon Kendra. La aplicación debe realizar los pasos siguientes: 

1. Rastrear el repositorio y hacer una lista de los documentos del repositorio que se han agregado, actualizado o eliminado.

1. Llama a la [StartDataSourceSyncJob](https://docs.aws.amazon.com/kendra/latest/APIReference/API_StartDataSourceSyncJob.html)API para indicar que se está iniciando un trabajo de sincronización. Debe proporcionar un ID de fuente de datos para identificar la fuente de datos que se está sincronizando. Amazon Kendra devuelve un identificador de ejecución para identificar un trabajo de sincronización concreto.

1. Llama a la [BatchDeleteDocument](https://docs.aws.amazon.com/kendra/latest/APIReference/API_BatchDeleteDocument.html)API para eliminar documentos del índice. Se proporciona el ID del origen de datos y el ID de ejecución para identificar el origen de datos que se está sincronizando y el trabajo al que está asociada esta actualización.

1. Llama a la [StopDataSourceSyncJob](https://docs.aws.amazon.com/kendra/latest/APIReference/API_StopDataSourceSyncJob.html)API para indicar el final del trabajo de sincronización. Después de llamar a la API `StopDataSourceSyncJob`, el ID de ejecución asociado deja de ser válido.

1. Llama a la [ListDataSourceSyncJobs](https://docs.aws.amazon.com/kendra/latest/APIReference/API_ListDataSourceSyncJobs.html)API con los identificadores del índice y de la fuente de datos para enumerar los trabajos de sincronización de la fuente de datos y ver las métricas de los trabajos de sincronización.

Tras finalizar un trabajo de sincronización, se puede iniciar uno nuevo. Puede transcurrir un tiempo antes de que todos los documentos enviados se añadan al índice. Use la API `ListDataSourceSyncJobs` para ver el estado del trabajo de sincronización. Si el `Status` devuelto para el trabajo de sincronización es `SYNCING_INDEXING`, algunos documentos aún se están indexando. Se puede iniciar un nuevo trabajo de sincronización cuando el estado del trabajo anterior sea `FAILED` o `SUCCEEDED`.

Después de llamar a la API `StopDataSourceSyncJob`, no se puede usar un identificador de trabajo de sincronización en una llamada a las API `BatchPutDocument` o `BatchDeleteDocument`. Si lo hace, todos los documentos enviados se devolverán en el mensaje de respuesta `FailedDocuments` de la API.

## Atributos obligatorios.
<a name="custom-required-attributes"></a>

Al enviar un documento para Amazon Kendra usar la `BatchPutDocument` API, cada documento requiere dos atributos para identificar la fuente de datos y la ejecución de sincronización a la que pertenece. Debe proporcionar los dos atributos siguientes para asignar correctamente los documentos del origen de datos personalizado a un índice de Amazon Kendra :
+ `_data_source_id`: el identificador del origen de datos. Este se devuelve al crear el origen de datos con la consola o la API `CreateDataSource`.
+ `_data_source_sync_job_execution_id`: el identificador de la ejecución de sincronización. Se devuelve al iniciar la sincronización del índice con la API `StartDataSourceSyncJob`.

El siguiente es el JSON necesario para indexar un documento mediante un origen de datos personalizado.

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

Al eliminar un documento del índice mediante la API `BatchDeleteDocument`, se deben especificar los dos campos siguientes en el parámetro `DataSourceSyncJobMetricTarget`:
+ `DataSourceId`: el identificador del origen de datos. Este se devuelve al crear el origen de datos con la consola o la API `CreateDataSource`.
+ `DataSourceSyncJobId`: el identificador de la ejecución de sincronización. Se devuelve al iniciar la sincronización del índice con la API `StartDataSourceSyncJob`.

El siguiente es el JSON necesario para eliminar un documento del índice mediante la API `BatchDeleteDocument`.

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

## Visualización de métricas
<a name="custom-metrics"></a>

Una vez finalizado un trabajo de sincronización, puedes usar la [DataSourceSyncJobMetrics](https://docs.aws.amazon.com/kendra/latest/APIReference/API_DataSourceSyncJobMetrics.html)API para obtener las métricas asociadas al trabajo de sincronización. Utilícela para supervisar las sincronizaciones de sus orígenes de datos personalizados.

Si se envía el mismo documento varias veces, ya sea como parte de la API `BatchPutDocument`, la API `BatchDeleteDocument` o si el documento se envía tanto para su adición como para su eliminación, el documento solo se cuenta una vez en las métricas.
+ `DocumentsAdded`: la cantidad de documentos enviados mediante la API `BatchPutDocument` asociada a este trabajo de sincronización agregados al índice por primera vez. Si un documento se envía para agregarlo más de una vez en una sincronización, el documento solo se cuenta una vez en las métricas.
+ `DocumentsDeleted`: la cantidad de documentos enviados mediante la API `BatchDeleteDocument` asociada a este trabajo de sincronización eliminados del índice. Si un documento se envía para eliminarlo más de una vez en una sincronización, el documento solo se cuenta una vez en las métricas.
+ `DocumentsFailed`: el número de documentos asociados a este trabajo de sincronización que no se pudieron indexar. Se trata de documentos que fueron aceptados por Amazon Kendra para su indexación, pero que no se pudieron indexar ni eliminar. Si un documento no es aceptado por Amazon Kendra, el identificador del documento se devuelve en la propiedad de `FailedDocuments` respuesta de las `BatchDeleteDocument` API `BatchPutDocument` y.
+ `DocumentsModified`—El número de documentos modificados enviados mediante la `BatchPutDocument` API asociada a este trabajo de sincronización y que se modificaron en el Amazon Kendra índice.

Amazon Kendra también emite Amazon CloudWatch métricas al indexar los documentos. Para obtener más información, consulte [Amazon Kendra Monitorear](https://docs.aws.amazon.com/kendra/latest/dg/cloudwatch-metrics.html) con. Amazon CloudWatch

Amazon Kendra no devuelve la `DocumentsScanned` métrica de las fuentes de datos personalizadas. También emite CloudWatch las métricas que figuran en el documento [Métricas de las fuentes de Amazon Kendra datos](https://docs.aws.amazon.com/kendra/latest/dg/cloudwatch-metrics.html#cloudwatch-metrics-data-source).

## Más información
<a name="custom-learn-more"></a>

Para obtener más información sobre la integración Amazon Kendra con su fuente de datos personalizada, consulte:
+ [Añadir fuentes de datos personalizadas a Amazon Kendra](https://aws.amazon.com/blogs/machine-learning/adding-custom-data-sources-to-amazon-kendra/)