Utilización de un origen de datos de base - Amazon Kendra

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.

Utilización de un origen de datos de base

Puede indexar documentos almacenados en una base de datos mediante un origen de datos de base de datos. Después de proporcionar información de conexión para la base de datos,Amazon Kendraconecta e indexa documentos.Amazon Kendraadmite las siguientes bases de datos:

  • Amazon Aurora MySQL

  • Amazon Aurora PostgreSQL

  • Amazon RDS para MySQL

  • Amazon RDS para PostgreSQL

No se admiten las bases de datos Aurora sin servidor.

Antes de crear un origen de datos de base de datos, debe crear un índice y crear campos personalizados en el índice para los datos de la base de datos. Para obtener más información, consulte Creación de un índice y Asignación de campos de origen de datos.

Para utilizar un origen de datos de base de datos, debe identificar lo siguiente:

  • Información de conexión, como credenciales de la base de datos almacenada enAWS Secrets Manager, el nombre de host, puerto y nombre de la tabla de datos que contiene los datos de documento. Para PostgreSQL, la tabla de datos debe ser una tabla pública.

  • Información de columna, como los nombres de las columnas de la tabla de datos que contienen los datos del documento y el identificador del documento, de una a cinco columnas para detectar si un documento ha cambiado y columnas de tabla de datos opcionales que se asignan a campos de índice personalizados. Puede mapear cualquiera de losAmazon Kendranombres de campos reservados a una columna de tabla.

  • Opcionalmente, información de la VPC para conectarse al servidor de base de datos. Para obtener más información acerca del uso de una VPC, consulteConfiguraciónAmazon Kendrapara utilizar una VPC. Si utiliza un origen de datos de base de datos con una VPC, debe proporcionar el ID de subred y el ID del grupo de seguridad. Solo debe utilizar una subred privada. Si la instancia de RDS se encuentra en una subred pública de la VPC, puede crear una subred privada que tenga acceso saliente a una puerta de enlace NAT en la subred pública. Las subredes proporcionadas en la configuración de VPC deben estar en Oeste de EE. UU. (Oregón), Este de EE. UU. (Norte de Virginia), Europa (Irlanda).

La configuración de base de datos proporciona la información necesaria para conectarse con su servidor de base de datos. El host y el puerto dicenAmazon Kendradónde encontrar el servidor de base de datos en Internet. El nombre de base de datos y el nombre de tabla indicanAmazon Kendradónde encontrar los datos del documento en el servidor de base de datos.

Para habilitarAmazon Kendrapara acceder a los documentos, especifique un usuario que tenga acceso de lectura a la tabla que contiene los documentos.Amazon Kendrarequiere credenciales para que el usuario tenga acceso a la base de datos. Proporciona estas credenciales medianteAWS Secrets Manager. Después de crear el secreto, debe proporcionar el nombre de recurso de Amazon (ARN) del secreto paraAmazon Kendra. El secreto debe contener el nombre de usuario y la contraseña queAmazon Kendrautiliza para acceder a la base de datos en una estructura JSON. El secreto podría contener información adicional, peroAmazon Kendrautiliza solo el nombre de usuario y la contraseña. La siguiente es la estructura JSON mínima que debe estar en secreto:

{ "username": "user name", "password": "password" }

El secreto puede contener más información. Sin embargo,Amazon Kendraignora otros campos. Para obtener más información, consulte ¿Qué es AWS Secrets Manager? en la Guía del usuario de AWS Secrets Manager.

El siguiente ejemplo muestra una configuración de base de datos.

"DatabaseConfiguration": { "ConnectionConfiguration": { "DatabaseHost": "host.subdomain.domain.tld", "DatabaseName": "DocumentDatabase", "DatabasePort": 3306, "SecretArn": "arn:aws:secretmanager:region:account ID:secret/secret name", "TableName": "DocumentTable" } }
nota

LaDatabaseHostdebe ser elAmazon Relational Database Service(Amazon RDS) para la base de datos de. No utilice el punto de enlace del clúster.

Por defecto,Amazon Kendrautiliza identificadores SQL (como nombre de base de datos, nombre de tabla y nombres de columna) exactamente como se establece en la configuración del origen de datos de la base de datos.Amazon Kendrano incluye identificadores entre comillas ni cambia el caso.

Una base de datos de PostgreSQL siempre cambia los nombres de tablas y columnas sin comillas a minúsculas. Por ejemplo, siAmazon Kendraestá configurado para utilizar el nombre de la tablaSAMPLE_TABLE, PostgreSQL lo convierte internamente asample_table. Si el nombre de una tabla o columna contiene letras mayúsculas, la consulta SQL no coincidirá con las columnas o tablas correctas. Esto se debe a que PostgreSQL los cambia internamente a minúsculas.

Para configurarAmazon Kendrapara incluir los identificadores SQL de nombres de tablas y columnas entre comillas («), establezca laQueryIdentifiersEnclosingOptionaDOUBLE_QUOTESdentro delSqlConfigurationparámetro deCreateDataSourceAPI. Cuando establece este parámetro, los identificadores SQL enviados a las bases de datos se incluyen entre comillas. De esta forma, PostgreSQL no cambia los identificadores SQL a minúsculas. Si incluye identificadores entre comillas cuando utiliza MySQL, debe establecer laansi_quotesopción de la base de datos MySQL.

Puede agregar información de tabla de documentos a un índice asignando columnas de tabla a campos de índice. Existen dos tipos de información que agrega. La primera es de una a cinco columnas queAmazon Kendrautiliza para determinar si un documento ha cambiado desde la última vez que se ejecutó una actualización de índice. Por ejemplo, si tiene columnas en la tabla denominadasLastUpdateDateyLastUpdateTime, puedes decirAmazon Kendrapara utilizarlos para determinar si se ha actualizado un documento.

El segundo tipo de información sobre las columnas consiste en asignar algunas o todas las columnas de la tabla a campos de indexación. Por ejemplo, puede asignar una columna que contiene el resumen del documento a un campo de índice. Si marca el campo que se puede buscar,Amazon Kendrautiliza el contenido del campo para determinar si un documento coincide con la consulta. Para obtener más información sobre los atributos que puede asignar un campo personalizado, consulteAsignación de campos de origen de datos.

Después de asignar las columnas, también puede utilizar los campos de índice como atributos personalizados para filtrar los resultados de una consulta. Para obtener más información, consulte Consultas de filtrado.

Especifique elDocumentDataColumnNameyDocumentIdColumnName. La columna asignada alDocumentIdColumnNamedebe ser una columna de números enteros.

El siguiente ejemplo muestra una configuración simple de columnas para un origen de datos de base de datos.

"ColumnConfiguration": { "ChangeDetectingColumns": [ "LastUpdateDate", "LastUpdateTime" ], "DocumentDataColumnName": "TextColumn", "DocumentIdColumnName": "IdentifierColumn", "DocoumentTitleColumnName": "TitleColumn", "FieldMappings": [ { "DataSourceFieldName": "AbstractColumn", "IndexFieldName": "Abstract" } ] }