Amazon S3
Amazon S3 是一种对象存储服务,可将数据以对象形式存储在存储桶中。您可以使用 Amazon Kendra 来为 Amazon S3 存储桶中的文档存储库编制索引。
Amazon Kendra 不使用向 Amazon Kendra 主体授予与 S3 存储桶交互的权限的存储桶策略。它使用 IAM 角色。请确保 Amazon Kendra 未作为可信成员包含在存储桶策略中,以免在意外向任意主体授予权限时出现任何数据安全问题。但是,您可以添加存储桶策略,以便在不同的账户中使用 Amazon S3 存储桶。有关更多信息,请参阅跨账户使用 Amazon S3 的策略(在“S3 IAM 角色”选项卡的数据来源的 IAM 角色下)。有关 S3 数据来源的 IAM 角色的信息,请参阅 IAM 角色。
Amazon Kendra 现在支持升级后的 Amazon S3 连接器。
控制台已为您自动升级。您在控制台中新建的所有连接器都将使用升级后的架构。如果您使用 API,则现在必须使用 TemplateConfiguration 对象而不是 S3DataSourceConfiguration 对象来配置您的连接器。
使用旧版控制台或旧版 API 架构配置的连接器仍可照常运行,但您将无法编辑或更新它们。如果要编辑或更新连接器配置,必须新建一个连接器。
我们建议您将连接器工作流程迁移至升级后的版本。使用旧版架构配置的连接器的支持预计将在 2024 年 6 月前终止。
您可以使用 Amazon Kendra 控制台或 TemplateConfiguration API 连接到 Amazon S3 数据来源。
要对 Amazon Kendra S3 数据来源连接器进行故障排除,请参阅数据来源故障排除。
支持的功能
-
字段映射
-
用户访问控制
-
包含/排除筛选条件
-
完整和增量内容同步
-
虚拟私有云(VPC)
先决条件
在使用 Amazon Kendra 为 S3 数据来源编制索引之前,请先在 S3 和 AWS 账户内进行这些更改。
在 S3 中,请确保:
在您的 AWS 账户中,请确保:
如果您没有现有的 IAM 角色,则在将 S3 数据来源连接到 Amazon Kendra 时,您可以使用控制台创建新的 IAM 角色。如果您使用 API,则必须提供现有 IAM 角色的 ARN 以及索引 ID。
连接说明
要将 Amazon Kendra 连接到 S3 数据来源,您必须提供 S3 数据来源的必要详细信息,这样 Amazon Kendra 才能访问您的数据。如果您还没有为 Amazon Kendra 配置 S3,请参阅先决条件。
- Console
-
将 Amazon Kendra 连接到 Amazon S3
-
登录 AWS 管理控制台并打开 Amazon Kendra 控制台。
-
在左侧导航窗格中,选择索引,然后从索引列表中选择要使用的索引。
您可以选择在索引设置下配置或编辑您的用户访问控制设置。
-
在入门页面上,选择添加数据来源。
-
在添加数据来源页面上,选择 S3 连接器,然后选择添加连接器。如果使用版本 2(如果适用),请选择带有“V2.0”标签的 S3 连接器。
-
在指定数据来源详细信息页面上输入以下信息:
-
在名称和描述中,在数据来源名称中输入您的数据来源的名称。可以包含连字符,但不能包含空格。
-
(可选)描述:输入数据来源的描述信息。
-
在默认语言中,选择用于筛选文档以编制索引的语言。除非另行指定,否则语言默认为英语。在文档元数据中指定的语言会覆盖所选语言。
-
在标签中,对于添加新标签 – 添加用于搜索和筛选资源或跟踪 AWS 成本的标签。
-
选择下一步。
-
在定义访问权限和安全性页面上,输入以下可选信息:
-
IAM 角色 - 选择现有 IAM 角色或创建新的 IAM 角色来访问您的存储库凭证和索引内容。
用于编制索引的 IAM 角色不能用于数据来源。如果您不确定是否将现有角色用于编制索引或常见问题解答,为了避免出错,请选择创建新角色。
-
虚拟私有云(VPC)- 您可以选择使用 VPC。如果是这样,则必须添加子网和 VPC 安全组。
-
选择下一步。
-
在配置同步设置页面上,请输入以下信息:
-
在数据来源位置中 - 指定存储您数据的 Amazon S3 存储桶的路径。选择浏览 S3 以选择 S3 存储桶。
-
对于最大文件大小 - 指定文件大小上限(以 MB 为单位),仅爬取不超过此大小的文件。Amazon Kendra 允许的最大文件大小为 50MB。
-
对于(可选的)元数据文件前缀文件夹位置 - 指定存放您的字段/属性以及其他文档元数据的文件夹路径。选择浏览 S3 以找到元数据文件夹。
-
对于(可选的)访问控制列表配置文件的位置 - 指定包含用户及其文档访问权限的 JSON 结构文件的路径。选择浏览 S3 以找到 ACL 文件。
-
(可选)选择解密密钥 - 选择使用解密密钥。您可以选择使用现有的 AWS KMS 密钥。
-
对于(可选的)其他配置 - 添加正则表达式以包含或排除某些文件。所有路径都是相对于数据来源位置 S3 存储桶的路径。
-
同步模式 – 选择在数据来源内容发生变化时更新索引的方式。首次将数据来源与 Amazon Kendra 同步时,默认情况下会爬取所有内容并编制索引。如果首次同步失败,即使您没有选择“完整同步”作为同步模式,也必须执行一次完整的数据同步。
-
在同步运行计划的频率中 – 选择同步数据来源内容并更新索引的频率。
-
选择下一步。
-
在设置字段映射页面上,输入以下可选信息:
-
默认字段映射 - 从 Amazon Kendra 生成的默认数据来源字段中选择要映射到索引的字段。
-
添加字段 - 选择添加自定义数据来源字段以创建要映射到的索引字段名称和字段数据类型。
-
选择下一步。
-
在查看和创建页面上,请检查输入的信息是否正确,然后选择添加数据来源。您也可以选择在此页面上编辑信息。成功添加数据来源后,您的数据来源将显示在数据来源页面上。
- API
-
将 Amazon Kendra 连接到 Amazon S3
您必须使用 TemplateConfiguration API 指定数据来源架构的 JSON。您必须提供以下信息:
-
数据来源 – 当使用 TemplateConfiguration JSON 架构时,将数据来源类型指定为 S3。当调用 CreateDataSource API 时,还要将数据来源指定为 TEMPLATE。
-
存储桶名称 - 包含文档的存储桶的名称。
-
同步模式 – 指定当数据来源内容发生变化时 Amazon Kendra 更新索引的方式。首次将数据来源与 Amazon Kendra 同步时,默认情况下会爬取所有内容并编制索引。如果首次同步失败,即使您没有选择“完整同步”作为同步模式,也必须执行一次完整的数据同步。您可以选择:
-
IAM 角色 - 指定 RoleArn,以便调用 CreateDataSource 来向 IAM 角色提供访问您的 Secrets Manager 密钥的权限,以及为 S3 连接器和 Amazon Kendra 调用所需的公共 API 的权限。有关更多信息,请参阅 S3 数据来源的 IAM 角色。
您还可以添加以下可选功能:
-
虚拟私有云(VPC)- 指定 VpcConfiguration,以便调用 CreateDataSource。有关更多信息,请参阅配置 Amazon Kendra 以使用 Amazon VPC。
-
包含和排除筛选条件 - 指定是包含还是排除某些文件名、文件类型、文件路径。您可以使用 glob 模式(一种将通配符模式扩展为与给定模式匹配的路径名称列表的模式)。有关示例,请参阅《AWS 命令参考》中的使用 Exclude 和 Include 筛选条件。
-
文档元数据和访问控制配置 - 添加包含文档元数据和访问控制信息的文件,例如来源 URI、文档作者、或自定义文档属性/字段,以及用户信息和他们可访问的文档。每个元数据文件都包含有关单个文档的元数据。
-
字段映射 - 选择将 S3 数据来源字段映射到 Amazon Kendra 索引字段。有关更多信息,请参阅映射数据来源字段。
文档正文字段或文档正文的等效字段是 Amazon Kendra 搜索文档时所必需的。您必须将数据来源中的文档正文字段名映射到索引字段名称 _document_body。其他所有字段均为可选字段。
有关要配置的其他重要 JSON 键的列表,请参阅 S3 模板架构。
了解更多
要了解有关将 Amazon Kendra 与 S3 数据来源集成的更多信息,请参阅: