Amazon S3 - Amazon Kendra

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

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控制台TemplateConfigurationAPI 连接到您的Amazon S3数据源。

注意

要为您的Amazon S3数据源生成同步状态报告,请参阅数据源疑难解答

要Amazon Kendra对 S3 数据源连接器进行故障排除,请参阅数据来源故障排除

支持的功能

  • 字段映射

  • 用户访问控制

  • 包含/排除筛选条件

  • 完整和增量内容同步

  • 虚拟私有云(VPC)

先决条件

在使用Amazon Kendra索引 S3 数据源之前,请在您的 S3 和AWS账户中进行这些更改。

在 S3 中,请确保:

  • 已复制Amazon S3存储桶的名称。

    注意

    您的存储桶必须与您的Amazon Kendra索引位于同一区域,并且您的索引必须有权访问包含您的文档的存储桶。

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

在您的AWS账户中,请确保您有:

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

连接说明

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

Console

要连接Amazon Kendra到 Amazon S3

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

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

    注意

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

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

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

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

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

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

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

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

    5. 选择下一步

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

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

      注意

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

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

    3. 选择下一步

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

    1. 数据来源位置中 - 指定存储您数据的 Amazon S3 存储桶的路径。选择浏览 S3 以选择 S3 存储桶。

    2. 对于最大文件大小 - 指定文件大小上限(以 MB 为单位),仅爬取不超过此大小的文件。允许的最大文件Amazon Kendra大小为 50 MB。

    3. 对于(可选)元数据文件前缀文件夹位置-指定存储您 fields/attributes 和其他文档元数据的文件夹的路径。选择浏览 S3 以找到元数据文件夹。

    4. 对于(可选的)访问控制列表配置文件的位置 - 指定包含用户及其文档访问权限的 JSON 结构文件的路径。选择浏览 S3 以找到 ACL 文件。

    5. (可选)选择解密密钥 - 选择使用解密密钥。您可以选择使用现有的 AWS KMS 密钥。

    6. 对于(可选的)其他配置 - 添加正则表达式以包含或排除某些文件。所有路径都是相对于数据来源位置 S3 存储桶的路径。

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

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

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

    8. 同步运行计划频率中 – 选择同步数据来源内容并更新索引的频率。

    9. 选择下一步

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

    1. 默认字段映射-从Amazon Kendra生成的默认数据源字段中选择要映射到索引的字段。

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

    3. 选择下一步

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

API

要连接Amazon Kendra到 Amazon S3

您必须使用 TemplateConfiguration API 指定数据来源架构的 JSON。您必须提供以下信息:

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

  • BucketName— 包含文档的存储桶的名称。

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

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

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

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

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

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

  • 包含和排除筛选条件 - 指定是包含还是排除某些文件名、文件类型、文件路径。您可以使用 glob 模式(一种将通配符模式扩展为与给定模式匹配的路径名称列表的模式)。有关示例,请参阅《AWS CLI 命令参考》中的 “排除和包含筛选器的使用”。

  • 文档元数据和访问控制配置 - 添加包含文档元数据和访问控制信息的文件,例如来源 URI、文档作者、或自定义文档属性/字段,以及用户信息和他们可访问的文档。每个元数据文件都包含有关单个文档的元数据。

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

    注意

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

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

了解详情

要了解有关Amazon Kendra与 S3 数据源集成的更多信息,请参阅: