本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon RDS(微软 SQL Server)
Amazon RDS(微软 SQL Server)连接器将在 2026 年 5 月 31 日之前完全支持现有客户。虽然此连接器不再可供新用户使用,但仍可供当前用户持续使用。我们正在持续优化我们的连接器产品组合,以提供更具可扩展性和可定制性的解决方案。对于未来集成,我们建议探索 Amazon Kendra 自定义连接器框架[1],该框架旨在支持更广泛的企业使用案例,并且具备更大的灵活性。
SQL Server 是由微软开发的数据库管理系统。 Amazon RDSfor SQL Server 可以轻松地在云中设置、操作和扩展 SQL Server 部署。如果你是Amazon RDS(微软 SQL Server)用户,则可以使用Amazon Kendra索引你的Amazon RDS(微软 SQL Server)数据源。Amazon KendraJDBC 数据源连接器支持微软 SQL Server 2019。
你可以使用Amazon Kendra控制台和 TemplateConfigurationAPI Amazon Kendra 连接到你的Amazon RDS(微软 SQL Server)数据源。
要对你的 Amazon KendraAmazon RDS(微软 SQL Server)数据源连接器进行故障排除,请参阅数据来源故障排除。
支持的功能
-
字段映射
-
用户上下文筛选
-
包含/排除筛选条件
-
完整和增量内容同步
-
虚拟私有云(VPC)
先决条件
在使用Amazon Kendra索引你的Amazon RDS(微软 SQL Server)数据源之前,请在你的Amazon RDS(微软 SQL Server)和AWS账户中进行这些更改。
在Amazon RDS(微软 SQL Server)中,确保你有:
在你的AWS 账户,请确保你有:
-
已创建Amazon Kendra索引,如果使用 API,则记下索引 ID。
-
为您的数据源@@ 创建了一个IAM角色,如果使用 API,请记下该角色的 ARN。IAM
如果您更改了身份验证类型和证书,则必须更新您的IAM角色才能访问正确的AWS Secrets Manager密钥 ID。
-
将你的Amazon RDS(Microsoft SQL Server)身份验证凭据存储在AWS Secrets Manager密钥中,如果使用 API,则记下该密钥的 ARN。
我们建议您定期刷新或轮换您的凭证和密码。为了安全起见,请仅提供必要的访问权限级别。我们建议不要跨数据来源以及连接器版本 1.0 和 2.0(如果适用)重复使用凭证和密钥。
如果您没有现有的IAM角色或密钥,则可以在将Amazon RDS(Microsoft SQL Server)数据源连接到时使用控制台创建新的IAM角色和Secrets Manager密钥Amazon Kendra。如果您使用的是 API,则必须提供现有IAM角色和Secrets Manager密钥的 ARN 以及索引 ID。
连接说明
Amazon Kendra要连接到你的Amazon RDS(微软 SQL Server)数据源,你必须提供你的Amazon RDS(微软 SQL Server)凭据的详细信息,这样Amazon Kendra才能访问你的数据。如果你尚未配置Amazon RDS(Microsoft SQL Server),Amazon Kendra请参阅先决条件。
- Console
-
要连接Amazon Kendra到Amazon RDS(微软 SQL Server)
-
登录AWS 管理控制台并打开Amazon Kendra控制台。
-
在左侧导航窗格中,选择索引,然后从索引列表中选择要使用的索引。
您可以选择在索引设置下配置或编辑您的用户访问控制设置。
-
在开始使用页面上,选择添加数据来源。
-
在添加数据来源页面上,选择 Amazon RDS(Microsoft SQL Server)连接器,然后选择添加连接器。如果使用版本 2(如果适用),请选择带有“V2.0”标签的 Amazon RDS(Microsoft SQL Server)连接器。
-
在指定数据来源详细信息页面上,输入以下信息:
-
在名称和描述中,在数据来源名称中输入您的数据来源的名称。可以包含连字符,但不能包含空格。
-
(可选)描述:输入数据来源的描述信息。
-
在默认语言中,选择用于筛选文档以编制索引的语言。除非另行指定,否则语言默认为英语。在文档元数据中指定的语言会覆盖所选语言。
-
在标签中,用于添加新标签-包括可选标签以搜索和筛选您的资源或跟踪您的AWS成本。
-
选择下一步。
-
在定义访问权限和安全性页面上,请输入以下信息:
-
在源中,输入以下信息:
-
主机 - 输入数据库主机名。
-
端口 - 输入数据库端口。
-
实例 - 输入数据库实例。
-
启用 SSL 证书位置-选择输入 SSL 证书文件的Amazon S3路径。
-
在身份验证中 - 请输入以下信息:
-
AWS Secrets Managers@@ ec ret — 选择现有密钥或创建新Secrets Manager密钥来存储你的Amazon RDS(Microsoft SQL Server)身份验证凭据。如果您选择创建新密钥,则会打开 AWS Secrets Manager 密钥窗口。
-
在创建 AWS Secrets Manager 密钥窗口中输入以下信息:
-
密钥名称 - 密钥的名称。前缀 'AmazonKendra-Amazon RDS(Microsoft SQL Server)-' 会自动添加到你的密钥名称中。
-
对于数据库用户名和密码 - 输入您从数据库中复制的身份验证凭证值。
-
选择保存。
-
虚拟私有云(VPC)- 您可以选择使用 VPC。如果是这样,则必须添加子网和 VPC 安全组。
-
IAMro le —选择现有IAM角色或创建新IAM角色来访问您的存储库凭据和索引内容。
IAM用于索引的角色不能用于数据源。如果您不确定是否将现有角色用于编制索引或常见问题解答,为了避免出错,请选择创建新角色。
-
选择下一步。
-
在配置同步设置页面上,请输入以下信息:
-
在同步范围中,从以下选项中进行选择:
-
在其他配置 - 可选中,从以下选项中选择以同步特定内容,而不是同步所有文件:
-
变更检测列-输入Amazon Kendra将用于检测内容变化的列的名称。 Amazon Kendra当其中任何一列发生变化时,将重新索引内容。
-
用户 IDs列-输入包含允许用户访问内容 IDs 的列的名称。
-
组列 - 输入包含允许访问内容的群组的列的名称。
-
源 URLs列-输入包含要索引的源的列 URLs 的名称。
-
时间戳列-输入包含时间戳的列的名称。 Amazon Kendra使用时间戳信息来检测内容的变化并仅同步已更改的内容。
-
时区列 - 输入列的名称,该列包含要搜索的内容的时区。
-
时间戳格式 - 输入列的名称,该列包含用于检测内容更改和重新同步内容的时间戳格式。
-
同步模式 – 选择在数据来源内容发生变化时更新索引的方式。首次与同步数据源时,Amazon Kendra默认情况下会对所有内容进行抓取和索引。如果首次同步失败,即使您没有选择“完整同步”作为同步模式,也必须执行一次完整的数据同步。
-
完整同步:每次数据来源与索引同步时,重新为所有内容编制索引,并替换已有内容。
-
新增、修改的同步:每次数据来源与索引同步时,仅为新增和修改的内容编制索引。Amazon Kendra 可以利用数据来源自身的内容变更跟踪机制,仅为自上次同步以来发生变化的内容编制索引。
-
新增、已修改、已删除的同步:每次数据源与索引同步时,仅索引新内容、修改内容和已删除内容。 Amazon Kendra可以使用数据源的机制来跟踪内容更改并索引自上次同步以来更改的内容。
-
在同步运行计划中,对于频率 - Amazon Kendra 与数据来源同步的频率。
-
选择下一步。
-
在设置字段映射页面上,请输入以下信息:
-
从生成的默认数据源字段(“文档” IDs、“文档标题” 和 “来源” URLs)中进行选择,以映射到Amazon Kendra索引。
-
添加字段 - 添加自定义数据来源字段以创建要映射到的索引字段名称和字段数据类型。
-
选择下一步。
-
在查看和创建页面上,请检查输入的信息是否正确,然后选择添加数据来源。您也可以选择在此页面上编辑信息。成功添加数据来源后,您的数据来源将显示在数据来源页面上。
- API
-
要连接Amazon Kendra到Amazon RDS(微软 SQL Server)
您必须使用 TemplateConfigurationAPI 指定以下内容:
-
数据来源 – 当使用 TemplateConfiguration JSON 架构时,将数据来源类型指定为 JDBC。当调用 CreateDataSource API 时,还要将数据来源指定为 TEMPLATE。
-
数据库类型 - 必须将数据库类型指定为 sqlserver。
-
SQL 查询 – 指定 SQL 查询语句,例如 SELECT 和 JOIN 操作。SQL 查询必须小于 32KB。Amazon Kendra 将爬取与您的查询相匹配的所有数据库内容。
如果表名中包含特殊字符(非字母数字),则必须使用方括号将表名括起来。例如,select * from [my-database-table]
-
同步模式-指定数据源内容发生变化时Amazon Kendra应如何更新索引。首次将数据来源与 Amazon Kendra 同步时,默认情况下会爬取所有内容并编制索引。如果首次同步失败,即使您没有选择“完整同步”作为同步模式,也必须执行一次完整的数据同步。您可以选择:
-
FORCED_FULL_CRAWL,每次数据来源与索引同步时,重新为所有内容编制索引,并替换已有内容。
-
FULL_CRAWL,每次数据来源与索引同步时,仅为新增、修改和删除的内容编制索引。Amazon Kendra 可以利用数据来源自身的内容变更跟踪机制,仅为自上次同步以来发生变化的内容编制索引。
-
CHANGE_LOG,每次数据来源与索引同步时,仅为新增和修改的内容编制索引。Amazon Kendra 可以利用数据来源自身的内容变更跟踪机制,仅为自上次同步以来发生变化的内容编制索引。
-
亚马逊秘密资源名称 (ARN)-提供密钥的亚马逊资源名称 (ARN),该Secrets Manager密钥包含您在您的(Amazon RDS微软 SQL Server)账户中创建的身份验证证书。密钥必须使用具有以下键的 JSON 结构存储:
{
"user name": "database user name",
"password": "password"
}
我们建议您定期刷新或轮换您的凭证和密码。为了安全起见,请仅提供必要的访问权限级别。我们建议不要跨数据来源以及连接器版本 1.0 和 2.0(如果适用)重复使用凭证和密钥。
-
IAM角色 —指定RoleArn何时调用CreateDataSource以向IAM角色提供访问您的Secrets Manager密钥的权限以及调用Amazon RDS(Microsoft SQL Server)连接器 APIs 所需的公众的权限,以及Amazon Kendra。有关更多信息,请参阅 Amazon RDS(微软 SQL Server)数据源的IAM角色。
您还可以添加以下可选功能:
-
虚拟私有云(VPC)- 指定 VpcConfiguration,以便调用 CreateDataSource。有关更多信息,请参阅 配置Amazon Kendra为使用 Amazon VPC。
-
包含和排除过滤器-您可以使用用户 IDs、群组、来源 URLs、时间戳和时区来指定是否包含特定内容。
-
用户上下文筛选和访问控制 – 如果文档有 ACL,则 Amazon Kendra 会爬取文档的访问控制列表(ACL)。ACL 信息用于根据用户或其所在组对文档的访问权限来筛选搜索结果。有关更多信息,请参阅用户上下文筛选。
-
字段映射-选择将你的(Amazon RDSMicrosoft SQL Server)数据源字段映射到Amazon Kendra索引字段。有关更多信息,请参阅映射数据来源字段。
要搜索您的文档,必须输入文档正文字段或文档正文等效字段。Amazon Kendra您必须将数据来源中的文档正文字段名映射到索引字段名称 _document_body。其他所有字段均为可选字段。
有关要配置的其他重要 JSON 键的列表,请参阅Amazon RDS(Microsoft SQL Server)模板架构。
注意
-
Amazon Kendra检查已更新的内容时,不会跟踪已删除的数据库行。
-
在数据库的一行中,字段名和值的大小不能超过 400KB。
-
如果您的数据库数据源中有大量数据,并且不Amazon Kendra想在第一次同步后将所有数据库内容编入索引,则可以选择仅同步新的、修改过的或已删除的文档。
-
作为最佳实践,请提供只读Amazon Kendra的数据库凭据。
-
最佳做法是避免添加包含敏感数据或个人身份信息(PII)的表。