

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

# 数据来源故障排除
<a name="troubleshooting-data-sources"></a>

本节可以帮助您解决配置和使用 Amazon Kendra 数据源连接器时的常见问题。

## 我的文档没有编入索引
<a name="troubleshooting-data-sources-not-indexed"></a>

将 Amazon Kendra 索引与数据源同步时，可能会遇到导致无法对文档编制索引的问题。编制索引包括两个步骤。首先，检查数据来源中是否有要编制索引的新文档和更新文档，并查找要从索引中移除的文档。其次，确保可在文档级别访问每个文档和编制索引。

这两个步骤中都可能出现错误。数据来源级别的错误将在控制台的数据来源详细信息页面的**同步运行历史记录**部分报告。同步作业的状态可能是**成功**、**未完成**或**失败**。您还可以看到在作业执行期间已编制索引和删除的文档数量。如果状态为**失败**，则**详细信息**列中会显示一条消息。



中报告了文档级别的错误 Amazon CloudWatch Logs。您可以使用 CloudWatch 控制台查看错误。

要生成文档同步状态报告，请参阅[我要为文档生成同步状态报告](https://docs.aws.amazon.com/kendra/latest/dg/troubleshooting-data-sources.html#troubleshooting-data-sources-sync-status-manifest)。

## 我的同步作业失败了
<a name="troubleshooting-data-sources-failed"></a>

当索引或数据来源中出现配置错误时，同步作业通常会失败。在控制台中，您可以在数据来源详细信息页面的**同步运行历史记录**部分的**详细信息**列下找到错误消息。文档级别的错误在 Amazon CloudWatch Logs中报告。错误消息会提供有关问题的信息。问题通常是索引或数据源没有适当的 IAM 权限。错误消息会描述缺少的权限。以下是您可能会收到的一些错误消息：

`Failed to create log group for job. Please make sure that the IAM role provided has sufficient permissions.`

如果您的索引角色没有使用权限 CloudWatch，则数据源将无法创建 CloudWatch 日志。如果出现此错误，则必须为索引角色添加 CloudWatch 权限。

`Failed to access Amazon S3 file prefix (bucket name) while trying to crawl your metadata files. Please make sure the IAM role (ARN) provided has sufficient permissions. `

使用 Amazon S3 数据源时， Amazon Kendra 必须具有访问包含文档的存储桶的权限。您需要向数据源 IAM 角色添加读取存储桶的权限。 Amazon Kendra 

`The provided IAM role (ARN) could not be assumed. Please make sure Amazon Kendra is a trusted entity that is allowed to assume the role.`

Amazon Kendra 需要权限才能担任索引和数据源 IAM 角色。您需要向具有 `sts:AssumeRole` 操作的权限的角色添加信任策略。

有关 Amazon Kendra 需要为数据源编制索引的 IAM 策略，请参阅[IAM 角色](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html)。

要生成文档同步状态报告，请参阅[我要为文档生成同步状态报告](https://docs.aws.amazon.com/kendra/latest/dg/troubleshooting-data-sources.html#troubleshooting-data-sources-sync-status-manifest)。

## 我的同步任务未完成
<a name="troubleshooting-data-sources-sync-job-incomplete"></a>

通常，如果完成了数据来源级别的流程，但在文档级别的处理过程中出现了一些错误，则不会完成作业。如果作业未完成，则某些文档可能无法成功编制索引。对于 Amazon S3 数据来源，作业未完成通常是由以下原因造成的：
+ 一个或多个文档的元数据无效。
+ 当提交文档以编制索引时，至少有一个文档未提交。
+ 当提交要从索引中删除的文档时，至少有一个文档未提交。

要对未完成的同步作业进行故障排除，请先查看您的 CloudWatch 日志。

1. 在详细信息列中，选择**查看详细信息 CloudWatch**。

1. 查看错误消息，以便了解导致文档失败的原因。

要生成文档同步状态报告，请参阅[我要为文档生成同步状态报告](https://docs.aws.amazon.com/kendra/latest/dg/troubleshooting-data-sources.html#troubleshooting-data-sources-sync-status-manifest)。

## 我的同步作业执行成功了，但没有编制了索引的文档
<a name="troubleshooting-data-sources-succeeded-no-indexed-docs"></a>

有时，运行的索引同步作业会被标记为**成功**，但没有按预期为新文档或更新的文档编制索引。可能的原因包括：
+ 检查 CloudWatch `DocumentsSubmittedForIndexingFailed`指标以查看是否有任何文档无法同步。请查看您的 CloudWatch 日志以了解详细信息。
+ 对于 Amazon S3 数据源，您可能给出了错误 Amazon Kendra 的存储桶名称或前缀。确保 Amazon Kendra 正在使用的存储桶是包含要索引的文档的存储桶。
+ 在为之前的作业中未能编制索引的文档重新编制索引时，除非您更改了该文档或与其关联的元数据文件，否则 Amazon Kendra 不会为其编制索引。

要生成文档同步状态报告，请参阅[我要为文档生成同步状态报告](https://docs.aws.amazon.com/kendra/latest/dg/troubleshooting-data-sources.html#troubleshooting-data-sources-sync-status-manifest)。

## 我在同步数据来源时遇到了文件格式问题
<a name="troubleshooting-data-sources-file-format-issues"></a>

如果您在向数据来源添加文件或同步数据来源时遇到文件格式问题，请确保 Amazon Kendra 支持您的文档类型。有关支持的文档类型的列表， Amazon Kendra 请参阅[文档类型或格式](https://docs.aws.amazon.com/kendra/latest/dg/index-document-types.html)。

如果您将 `BatchPutDocument` API 用于纯文本文件，请将 `PLAIN_TEXT` 指定为内容类型。

## 我要为文档生成同步历史记录报告
<a name="troubleshooting-data-sources-sync-status-manifest"></a>

选择 “查看报告”，即可在中**查看**数据源同步作业 CloudWatch 的文档级同步运行历史报告。同步运行历史记录报告将详细介绍同步作业中每个文档的进度和状态。报告显示文档在爬取、同步和索引阶段是成功、失败还是跳过。您还可以找到与失败或跳过的文档相关的所有错误消息。如果报告未显示某个正在进行的同步作业的结果，可能是因为日志可能尚不可用。请稍后再返回查看，因为数据会在同步过程中发生事件时发送到报告中。

要访问同步运行历史记录报告，请执行以下步骤：

1. 打开亚马逊 Kendra 主机，网址为。[https://console.aws.amazon.com/kendra/](https://console.aws.amazon.com/kendra/)

1. 在左侧导航菜单上的**数据管理**下，选择**数据来源**，然后选择您的数据来源。

1. 在数据来源摘要页面上，向下滚动并选择**同步历史记录**选项卡。

1. 从**同步运行历史记录**中，选择**操作**。

1. 从**操作**中，选择**查看报告**。您将被重定向到 CloudWatch 控制台，在那里您可以访问您的报告。

**注意**  
同步运行历史记录记录了所有支持 Amazon Kendra 的连接器的文档（包括附件 ACLs 和元数据）在摄取期间是否成功编制了索引。

**如果您使用的是 Amazon S3 连接器：**

除了在中查看文档级同步运行历史记录报告外 CloudWatch，您还可以为 Amazon S3 数据源中的每个文档生成同步历史报告并将其复制到存储桶。 Amazon S3 在此过程中，您的数据将使用 AWS KMS 密钥进行加密，并且只能由您查看。报告的文档状态包括：**失败**、**已完成**或**成功但有错误**。您必须先执行以下操作，然后才能为 Amazon S3 生成同步状态报告：
+ 将以下 Amazon Kendra 服务主体添加到您的 Amazon S3 访问策略中
+ 创建具有访问权限的 Amazon S3 存储桶 Amazon Kendra

如果您使用控制台，要为 Amazon S3 生成同步历史记录报告，请从**数据来源详细信息**页面的**同步历史记录报告 – *可选***部分选择激活**生成报告**选项。然后，输入 Amazon S3 存储桶位置，并从可用的配置选项中选择。激活报告的生成后，下次同步时即可生成报告。

如果您删除 Amazon S3 存储桶，您将丢失日志数据，并且必须设置一个新的存储桶来存储新的同步报告。

**注意**  
同步历史记录报告仅提供有关 Amazon S3 连接器是否成功爬取和摄取数据的信息。

## 同步数据来源需要多长时间？
<a name="troubleshooting-data-sources-sync-time"></a>

如果文档没有更新，则 Amazon Kendra 索引的同步时间与文档数量成线性增加。例如，1,000 个没有任何更新的文档大约需要五分钟完成同步，而 2,000 份没有任何更新的文档则大约需要 10 分钟。如果文档有更新，则同步时间将根据更新的文档数量而增加。

## 同步数据来源的费用是多少？
<a name="troubleshooting-data-sources-sync-charge"></a>

同步索引时，需要两分钟的时间进行预热和激活 Amazon EC2 以建立必要的连接。在此过程中，您无需支付任何费用。在同步作业开始后，您的使用量表才会启动。有关 Amazon Kendra 定价的更多信息，请参阅[https://aws.amazon.com/kendra/pricing/](https://aws.amazon.com/kendra/pricing/)。

## 我收到 Amazon EC2 授权错误
<a name="troubleshooting-data-sources-ec2-error"></a>

如果在虚拟私有云 (VPC) 数据源的同步过程中出现 Amazon EC2 未经授权的操作错误，则可能是您的 VPC IAM 角色缺少所需的权限。请检查您用于数据源的 IAM 角色是否具有附加权限。有关更多信息，请参阅[虚拟私有云 IAM 角色](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-vpc)。

## 我无法使用搜索索引链接来打开我的 Amazon S3 对象
<a name="troubleshooting-data-unable-to-open-s3-links"></a>

您的 Amazon Kendra 索引只能访问 Amazon S3 数据源授予其访问权限的文件。例如， Amazon Kendra 无法修改决定对象是公开还是加密的 Amazon S3 权限。 Amazon Kendra 也没有为 Amazon S3 对象创建或返回签名链接的默认权限。如果要为 Amazon Kendra 索引中的 Amazon S3 对象激活签名链接，则有两种选择：
+ 在将索引查询结果返回搜索页面之前，您可以使用源 URI 对象对索引查询结果进行签名。有关此过程的 step-by-step演练，请参阅[https://docs.aws.amazon.com/AmazonS3/latest/userguide/ShareObjectPreSignedURL.html](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ShareObjectPreSignedURL.html)。
+ 您可以覆盖 Amazon S3 对象元数据源 uri，并通过连接到 Amazon S3 存储桶的 CloudFront 内容分发网络 (CDN) 提供服务。或者，您可以使用返回预签名 URL 并重定向到该地址的 API Gateway 代理端点。

## 我收到 “使用 SSL 证书文件AccessDenied 时” 错误消息
<a name="troubleshooting-data-sources-ssl-certificate-access-denied"></a>

如果在数据源中使用 SSL 证书时遇到拒绝访问错误，请确保您的 IAM 角色有权访问其指定位置的 SSL 证书文件。如果证书使用 AWS KMS 密钥加密，则您的 IAM 角色还应有权使用该 AWS KMS 密钥进行解密。有关更多信息，请参阅 [https://docs.aws.amazon.com/kms/latest/developerguide/control-access.html](https://docs.aws.amazon.com/kms/latest/developerguide/control-access.html)。

## 使用 SharePoint 数据源时出现授权错误
<a name="troubleshooting-data-sources-sharepoint-authorization-error"></a>

如果您在将索引与 SharePoint 数据源同步时遇到授权错误，请确认已在中 SharePoint为您分配了站点管理员角色。

## 索引无法从我的 Confluence 数据来源中爬取文档
<a name="troubleshooting-data-sources-confluence-document-crawling"></a>

如果在同步过程中，您的 Amazon Kendra 索引没有从 Confluence 数据源中搜寻文档，请确认您是 Confluence 管理员群组的成员。