Aurora(MySQL) - Amazon Kendra

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Aurora(MySQL)

注意

在 2026 年 5 月 31 日之前,仍可为现有客户提供对 Aurora(MySQL) 连接器的完全支持。虽然此连接器不再可供新用户使用,但仍可供当前用户持续使用。我们正在持续优化我们的连接器产品组合,以提供更具可扩展性和可定制性的解决方案。对于未来集成,我们建议探索 Amazon Kendra 自定义连接器框架[1],该框架旨在支持更广泛的企业使用案例,并且具备更大的灵活性。

Aurora是专为云构建的关系数据库管理系统 (RDBMS)。如果您是Aurora用户,则可以使用索Amazon Kendra引您的Aurora(MySQL)数据源。Amazon KendraAurora(MySQL)数据源连接器支持 Aurora MySQL 3 和Aurora无服务器 MySQL 8.0。

您可以使用Amazon Kendra控制台TemplateConfigurationAPI Amazon Kendra 连接到您的Aurora(MySQL)数据源。

要对Amazon KendraAurora(MySQL)数据源连接器进行故障排除,请参阅数据来源故障排除

支持的功能

  • 字段映射

  • 用户上下文筛选

  • 包含/排除筛选条件

  • 完整和增量内容同步

  • 虚拟私有云(VPC)

先决条件

在使用索Amazon Kendra引Aurora(MySQL)数据源之前,请在Aurora(MySQL)和AWS帐户中进行这些更改。

在 Aurora(MySQL) 中,请确保:

  • 已记下您的数据库用户名和密码。

    重要

    作为最佳实践,请提供只读Amazon Kendra的数据库凭据。

  • 已复制您的数据库主机 URL、端口和实例。你可以在Amazon RDS控制台上找到这些信息。

  • 在 Aurora(MySQL) 以及计划用于编制同一索引的其他数据来源中,已检查每个文档都是唯一的。您要用于编制索引的每个数据来源在所有数据来源中都不能包含相同的文档。文档对索引来说 IDs 是全局的,并且每个索引必须是唯一的。

在你的AWS 账户,请确保你有:

  • 已创建Amazon Kendra索引,如果使用 API,则记下索引 ID。

  • 为您的数据源@@ 创建了一个IAM角色,如果使用 API,请记下该角色的 ARN。IAM

    注意

    如果您更改了身份验证类型和证书,则必须更新您的IAM角色才能访问正确的AWS Secrets Manager密钥 ID。

  • 将您的 Aurora(MySQL) 身份验证凭证存储在 AWS Secrets Manager 密钥中,如果使用 API,请记下密钥的 ARN。

    注意

    我们建议您定期刷新或轮换您的凭证和密码。为了安全起见,请仅提供必要的访问权限级别。我们建议不要跨数据来源以及连接器版本 1.0 和 2.0(如果适用)重复使用凭证和密钥。

如果您没有现有的IAM角色或密钥,则可以在将Aurora(MySQL)数据源连接到时使用控制台创建新的IAM角色和Secrets Manager密钥Amazon Kendra。如果您使用的是 API,则必须提供现有IAM角色和Secrets Manager密钥的 ARN 以及索引 ID。

连接说明

要Amazon Kendra连接到您的Aurora(MySQL)数据源,您必须提供Aurora(MySQL)凭据的详细信息,Amazon Kendra以便访问您的数据。如果您尚未进行配置,Aurora(MySQL)请参Amazon Kendra阅先决条件

Console

要连接Amazon Kendra到 Aurora(MySQL)

  1. 登录AWS 管理控制台并打开Amazon Kendra控制台

  2. 在左侧导航窗格中,选择索引,然后从索引列表中选择要使用的索引。

    注意

    您可以选择在索引设置下配置或编辑您的用户访问控制设置。

  3. 开始使用页面上,选择添加数据来源

  4. 添加数据来源页面上,选择 Aurora(MySQL) 连接器,然后选择添加连接器。如果使用版本 2(如果适用),请选择带有“V2.0”标签的 Aurora(MySQL) 连接器

  5. 指定数据来源详细信息页面上,输入以下信息:

    1. 名称和描述中,在数据来源名称中输入您的数据来源的名称。可以包含连字符,但不能包含空格。

    2. (可选)描述:输入数据来源的描述信息。

    3. 默认语言中,选择用于筛选文档以编制索引的语言。除非另行指定,否则语言默认为英语。在文档元数据中指定的语言会覆盖所选语言。

    4. 标签中,用于添加新标签-包括可选标签以搜索和筛选您的资源或跟踪您的AWS成本。

    5. 选择下一步

  6. 定义访问权限和安全性页面上,请输入以下信息:

    1. 中,输入以下信息:

    2. 主机 – 输入数据库主机 URL,例如:http://instance URL.region.rds.amazonaws.com

    3. 端口 –输入数据库端口,例如 5432

    4. 实例 - 输入数据库实例。

    5. 身份验证中 - 请输入以下信息:

      1. AWS Secrets Managers@@ ecret —选择现有密钥或创建新Secrets Manager密钥来存储您的Aurora(MySQL)身份验证凭证。如果您选择创建新密钥,则会打开 AWS Secrets Manager 密钥窗口。

        1. 创建 AWS Secrets Manager 密钥窗口中输入以下信息:

          1. 密钥名称 - 密钥的名称。前缀 “AmazonKendra-Aurora(MySQL)-” 会自动添加到您的密钥名称中。

          2. 对于数据库用户名密码 - 输入您从数据库中复制的身份验证凭证值。

        2. 选择保存

    6. 虚拟私有云(VPC)- 您可以选择使用 VPC。如果是这样,则必须添加子网VPC 安全组

    7. IAMro le —选择现有IAM角色或创建新IAM角色来访问您的存储库凭据和索引内容。

      注意

      IAM用于索引的角色不能用于数据源。如果您不确定是否将现有角色用于编制索引或常见问题解答,为了避免出错,请选择创建新角色

    8. 选择下一步

  7. 配置同步设置页面上,请输入以下信息:

    1. 同步范围中,从以下选项中进行选择:

      • SQL 查询 - 输入 SQL 查询语句,例如 SELECT 和 JOIN 操作。SQL 查询必须小于 32KB SQL 查询必须小于 32KB 且不包含任何分号 (;)。 Amazon Kendra将抓取与您的查询相匹配的所有数据库内容。

      • 主键列 - 提供数据库表的主键。这将标识数据库中的表。

      • 标题列 - 提供数据库表中文档标题列的名称。

      • 正文列 – 提供数据库表中文档正文列的名称。

    2. 其他配置 - 可选中,从以下选项中选择以同步特定内容,而不是同步所有文件:

      • 变更检测列-输入Amazon Kendra将用于检测内容变化的列的名称。 Amazon Kendra当其中任何一列发生变化时,将重新索引内容。

      • “用户 IDs” 列-输入包含 IDs 要允许访问内容的用户的列的名称。

      • 组列 - 输入包含允许访问内容的群组的列的名称。

      • 源 URLs列-输入包含要索引的源的列 URLs 的名称。

      • 时间戳列-输入包含时间戳的列的名称。 Amazon Kendra使用时间戳信息来检测内容的变化并仅同步已更改的内容。

      • 时区列 - 输入列的名称,该列包含要搜索的内容的时区。

      • 时间戳格式 - 输入列的名称,该列包含用于检测内容更改和重新同步内容的时间戳格式。

    3. 同步模式 – 选择在数据来源内容发生变化时更新索引的方式。首次与同步数据源时,Amazon Kendra默认情况下会对所有内容进行抓取和索引。如果首次同步失败,即使您没有选择“完整同步”作为同步模式,也必须执行一次完整的数据同步。

      • 完整同步:每次数据来源与索引同步时,重新为所有内容编制索引,并替换已有内容。

      • 新增、修改的同步:每次数据来源与索引同步时,仅为新增和修改的内容编制索引。Amazon Kendra 可以利用数据来源自身的内容变更跟踪机制,仅为自上次同步以来发生变化的内容编制索引。

      • 新增、已修改、已删除的同步:每次数据源与索引同步时,仅索引新内容、修改内容和已删除内容。 Amazon Kendra可以使用数据源的机制来跟踪内容更改并索引自上次同步以来更改的内容。

    4. 同步运行计划中,对于频率 - Amazon Kendra 与数据来源同步的频率。

    5. 选择下一步

  8. 设置字段映射页面上,请输入以下信息:

    1. 从生成的默认数据源字段(“文档” IDs、“文档标题” 和 “来源” URLs)中进行选择,以映射到Amazon Kendra索引。

    2. 添加字段 - 添加自定义数据来源字段以创建要映射到的索引字段名称和字段数据类型。

    3. 选择下一步

  9. 查看和创建页面上,请检查输入的信息是否正确,然后选择添加数据来源。您也可以选择在此页面上编辑信息。成功添加数据来源后,您的数据来源将显示在数据来源页面上。

API

要连接Amazon Kendra到 Aurora(MySQL)

您必须使用 TemplateConfigurationAPI 指定以下内容:

  • 数据来源 – 当使用 TemplateConfiguration JSON 架构时,将数据来源类型指定为 JDBC。当调用 CreateDataSource API 时,还要将数据来源指定为 TEMPLATE

  • 数据库类型 - 必须将数据库类型指定为 mySql

  • SQL 查询 – 指定 SQL 查询语句,例如 SELECT 和 JOIN 操作。SQL 查询必须小于 32KB。Amazon Kendra 将爬取与您的查询相匹配的所有数据库内容。

  • 同步模式-指定数据源内容发生变化时Amazon Kendra应如何更新索引。首次将数据来源与 Amazon Kendra 同步时,默认情况下会爬取所有内容并编制索引。如果首次同步失败,即使您没有选择“完整同步”作为同步模式,也必须执行一次完整的数据同步。您可以选择:

    • FORCED_FULL_CRAWL,每次数据来源与索引同步时,重新为所有内容编制索引,并替换已有内容。

    • FULL_CRAWL,每次数据来源与索引同步时,仅为新增、修改和删除的内容编制索引。Amazon Kendra 可以利用数据来源自身的内容变更跟踪机制,仅为自上次同步以来发生变化的内容编制索引。

    • CHANGE_LOG,每次数据来源与索引同步时,仅为新增和修改的内容编制索引。Amazon Kendra 可以利用数据来源自身的内容变更跟踪机制,仅为自上次同步以来发生变化的内容编制索引。

  • 亚马逊秘密资源名称 (ARN)-提供包含您在账户中创建的身份验证凭证的Secrets Manager密钥的亚马逊资源名称 (ARN)。Aurora(MySQL)密钥必须使用具有以下键的 JSON 结构存储:

    { "user name": "database user name", "password": "password" }
    注意

    我们建议您定期刷新或轮换您的凭证和密码。为了安全起见,请仅提供必要的访问权限级别。我们建议不要跨数据来源以及连接器版本 1.0 和 2.0(如果适用)重复使用凭证和密钥。

  • IAMro le —指定RoleArn何时调用CreateDataSource以向IAM角色提供访问您的Secrets Manager密钥的权限以及调用Aurora(MySQL)连接器 APIs 所需的公众的权限,以及Amazon Kendra。有关更多信息,请参阅 Aurora(MySQL) S3 数据来源的 IAM 角色

您还可以添加以下可选功能:

  • 虚拟私有云(VPC)- 指定 VpcConfiguration,以便调用 CreateDataSource。有关更多信息,请参阅 配置Amazon Kendra为使用 Amazon VPC

  • 包含和排除过滤器-您可以使用用户 IDs、群组、来源 URLs、时间戳和时区来指定是否包含特定内容。

  • 用户上下文筛选和访问控制 – 如果文档有 ACL,则 Amazon Kendra 会爬取文档的访问控制列表(ACL)。ACL 信息用于根据用户或其所在组对文档的访问权限来筛选搜索结果。有关更多信息,请参阅用户上下文筛选

  • 字段映射 - 选择将 Aurora(MySQL) 数据来源字段映射到 Amazon Kendra 索引字段。有关更多信息,请参阅映射数据来源字段

    注意

    要搜索您的文档,必须输入文档正文字段或文档正文等效字段。Amazon Kendra您必须将数据来源中的文档正文字段名映射到索引字段名称 _document_body。其他所有字段均为可选字段。

有关要配置的其他重要 JSON 键的列表,请参阅Aurora(MySQL)模板架构

注意

  • Amazon Kendra检查已更新的内容时,不会跟踪已删除的数据库行。

  • 在数据库的一行中,字段名和值的大小不能超过 400KB。

  • 如果您的数据库数据源中有大量数据,并且不Amazon Kendra想在第一次同步后将所有数据库内容编入索引,则可以选择仅同步新的、修改过的或已删除的文档。

  • 作为最佳实践,请提供只读Amazon Kendra的数据库凭据。

  • 最佳做法是避免添加包含敏感数据或个人身份信息(PII)的表。