Amazon Kendra 网络爬虫连接器 v1.0 - Amazon Kendra

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

Amazon Kendra 网络爬虫连接器 v1.0

您可以使用 Amazon Kendra Web Crawler 来抓取和索引网页。

您只能爬取公共网站和使用安全通信协议(安全超文本传输协议(HTTPS))的网站。如果您在爬取网站时收到错误,则可能是该网站被阻止爬网。要爬取内部网站,可以设置 Web 代理。Web 代理必须面向公众。

当选择要编制索引的网站时,您必须遵守 Amazon 可接受使用政策以及所有其他 Amazon 条款。请记住,您只能使用 Amazon Kendra Web Crawler 来索引自己的网页或您有权编制索引的网页。要了解如何阻止 Amazon Kendra Web Crawler 将您的网站编入索引,请参阅为 Amazon Kendra Web 爬网程序配置 robots.txt 文件

注意

滥用 Amazon Kendra Web Crawler 来积极抓取你不拥有的网站或网页是不被视为不可接受的用法。

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

支持的特征

  • Web 代理

  • 包含/排除筛选条件

先决条件

在使用 Amazon Kendra 索引您的网站之前,请先检查您的网站和 AWS 帐户的详细信息。

对于您的网站,请确保:

  • 已复制要编制索引的网站的种子或站点地图 URL。

  • 对于需要基本身份验证的网站:记下用户名和密码,并复制网站的主机名和端口号。

  • 可选:如果您想使用 Web 代理连接到要爬取的内部网站,请复制网站的主机名和端口号。该 Web 代理必须面向公众。 Amazon Kendra 支持连接到通过基本身份验证提供支持的 Web 代理服务器,或者无需身份验证即可连接的服务器。

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

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

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

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

    注意

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

  • 对于需要身份验证的网站,或者如果使用带身份验证的 Web 代理,请将您的身份验证凭据存储在 AWS Secrets Manager 密钥中,如果使用 API,请记下密钥的 ARN。

    注意

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

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

连接说明

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

Console

要连接 Amazon Kendra 到 web crawler

  1. 登录 AWS Management Console 并打开Amazon Kendra 控制台

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

    注意

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

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

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

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

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

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

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

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

    5. 选择下一步

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

    1. 对于来源,请根据您的使用案例选择来源 URL来源站点地图,然后分别输入值。

      您最多可以添加 10 个来源 URL 和三个站点地图。

      注意

      如果要爬取站点地图,请检查基本 URL 或根 URL 是否与站点地图页面上列出的 URL 相同。例如,如果您的站点地图 URL 是 https://example.com/sitemap-page.html,则此站点地图页面上列出的 URL 也应使用基本 URL“https://example.com/”。

    2. (可选)对于 Web 代理 - 请输入以下信息:

      1. 主机名 - 需要 Web 代理的主机名。

      2. 端口号 - 主机 URL 传输协议使用的端口。端口号应为介于 0 到 65535 之间的数值。

      3. 对于 Web 代理凭证 - 如果您的 Web 代理连接需要身份验证,请选择现有密钥或创建新密钥来存储您的身份验证凭证。如果您选择创建新密钥,则会打开 AWS Secrets Manager 密钥窗口。

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

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

        2. 对于用户名密码 - 输入网站的这些基本身份验证凭证。

        3. 选择保存

    3. (可选)需要身份验证的主机 - 选择添加其他需要身份验证的主机。

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

      注意

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

    5. 选择下一步

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

    1. 爬取范围 - 选择要爬取的网页类型。

    2. 爬行深度-从种子 URL 中选择 Amazon Kendra 应该爬行的关卡数。

    3. 高级爬取设置其他配置,输入以下信息:

      1. 最大文件大小 - 要爬取的最大网页或附件大小。最小 0.000001 MB(1 字节)。最大 50 MB。

      2. 每页最多链接数 - 在每个页面上爬取的最大链接数量。按显示顺序爬取链接。最少 1 个链接/页面。最多 1000 个链接/页面。

      3. 最大限制 - 每分钟爬取的每个主机名的最大 URL 数量。每分钟每个主机名最少 1 个 URL。每分钟每个主机名最多 300 个 URL。

      4. 正则表达式模式 - 添加包含或排除某些 URL 的正则表达式模式。最多可以添加 100 个模式。

    4. 在 “同步运行计划” 中,“频率”-选择与数据源同步的频率。 Amazon Kendra

    5. 选择下一步

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

API

要连接 Amazon Kendra 到 web crawler

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

  • URL - 指定您想要使用 SeedUrlConfigurationSiteMapsConfiguration 爬取的网站或站点地图 URL 的种子或起点 URL。

    注意

    如果要爬取站点地图,请检查基本 URL 或根 URL 是否与站点地图页面上列出的 URL 相同。例如,如果您的站点地图 URL 是 https://example.com/sitemap-page.html,则此站点地图页面上列出的 URL 也应使用基本 URL“https://example.com/”。

  • 密钥 Amazon资源名称(ARN)- 如果网站需要基本身份验证,则需要提供主机名、端口号和用于存储您的用户名和密码的基本身份验证凭证的密钥。您可以使用 AuthenticationConfiguration API 提供密钥 ARN。密钥必须使用具有以下键的 JSON 结构存储:

    { "username": "user name", "password": "password" }

    您也可以使用 AWS Secrets Manager 密钥提供 Web 代理凭证。您可以使用 ProxyConfiguration API 提供网站主机名称和端口号,还可以选择提供存储您的 Web 代理凭证的密钥。

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

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

  • 爬取模式 - 选择是仅爬取网站主机名,还是爬取带有子域的主机名,还是同时爬取网页链接到的其他域名。

  • 从种子层爬取的“深度”或层数。例如,种子 URL 页面的深度为 1,在该页面上同时爬取的所有超链接的深度都是 2。

  • 爬取单个网页时要包含的 URL 的最大数量。

  • 要爬取的网页的最大大小(以 MB 为单位)。

  • 每分钟爬取的每个网站主机的最大 URL 数量。

  • 用于连接和爬取内部网站的 Web 代理主机和端口号。例如,https://a.example.com/page1.html 的主机名是“a.example.com”,端口号是 443,这是 HTTPS 的标准端口。如果连接至网站主机需要 Web 代理凭证,您可以创建存储凭证的 AWS Secrets Manager 。

  • 访问和爬取需要用户身份验证的网站的身份验证信息。

  • 您可以使用自定义文档富集工具将 HTML 元标签提取为字段。有关更多信息,请参阅在提取过程中自定义文档元数据。有关提取 HTML 元标签的示例,请参阅 CDE 示例

  • 包含和排除筛选条件 - 指定是包含还是排除 URL:

    注意

    大多数数据来源使用正则表达式模式,即称为筛选条件的包含或排除模式。如果您指定包含筛选条件,则只会为与包含筛选条件匹配的内容编制索引。不会为任何与包含筛选条件不匹配的文档编制索引。如果您指定包含和排除筛选条件,则不会为与排除筛选条件匹配的文档编制索引,即使它们与包含筛选条件相匹配。

了解更多信息

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