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 数据源连接器进行故障排除,请参阅数据来源故障排除

支持的特征

  • 字段映射

  • 用户访问控制

  • 包含/排除筛选条件

  • 完整内容和增量内容同步

  • Virtual Private Cloud (VPC)

先决条件

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

在 S3 中,请确保:

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

    注意

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

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

在您的 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 Management Console 并打开Amazon Kendra 控制台

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

    注意

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

  3. 入门页面上,选择添加数据来源

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

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

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

    2. (可选)说明 - 为数据来源输入说明。

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

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

    5. 选择下一步

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

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

      注意

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

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

    3. 选择下一步

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

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

    2. 对于最大文件大小-指定一个以 MB 为单位的限制,以仅搜索低于此限制的文件。允许的最大文件 Amazon Kendra 大小为 50 MB。

    3. 对于(可选)元数据文件前缀文件夹位置-指定存储字段/属性和其他文档元数据的文件夹的路径。选择浏览 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

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

  • 数据源-将数据源类型指定为使用 TemplateConfigurationJSON 架构S3时的类型。还要像调用 CreateDataSourceAPI TEMPLATE 时一样指定数据源。

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

  • 同步模式-指定数据源内容发生变化时 Amazon Kendra 应如何更新索引。首次与同步数据源时, Amazon Kendra 默认情况下会对所有内容进行抓取和索引。如果初始同步失败,即使您没有选择完全同步作为同步模式选项,也必须对数据进行完全同步。您可以选择:

    • FORCED_FULL_CRAWL对所有内容进行全新索引,每次数据源与索引同步时都要替换现有内容。

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

  • IAM ro le —指定RoleArn何时调用CreateDataSource以向 IAM 角色提供访问您的 Secrets Manager 密钥和调用 S3 连接器所需的公共 API 的权限,以及 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 数据源集成的更多信息,请参阅: