

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

# QLDB 中日记账流的常见错误
常见错误

**重要**  
终止支持通知：现有客户将能够使用 Amazon QLDB，直到 2025 年 7 月 31 日终止支持。有关更多详细信息，请参阅[将亚马逊 QLDB 账本迁移到亚马逊 Aurora PostgreSQL](https://aws.amazon.com/blogs/database/migrate-an-amazon-qldb-ledger-to-amazon-aurora-postgresql/)。

本节介绍了 Amazon QLDB 为日记账流请求引发的运行时系统错误。

以下是该服务返回的常见异常列表。每个异常都包括特定的错误消息，然后是简短的描述和可能的解决方案建议。<a name="streams.errors.varlist"></a>

**AccessDeniedException**  
消息：用户：*userARN*无权PassRole 在资源上执行：iam：*roleARN*  
您无权将 IAM 角色传递给 QLDB 服务。QLDB 要求所有日记账流请求都有一个角色，并且您必须具有将该角色传递给 QLDB 的权限。该角色为 QLDB 提供了在您指定的 Amazon Kinesis Data Streams 资源中的写入权限。  
核实您定义了一个 IAM policy，该策略授予对您指定的 QLDB 服务（`qldb.amazonaws.com`）的 IAM 角色资源执行 `PassRole` API 操作的权限。有关策略示例，请参阅[Amazon QLDB 基于身份的策略示例](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-stream-to-kinesis)。

**IllegalArgumentException**  
消息：QLDB 在验证 Kinesis Data Streams 时遇到错误：来自 Kinesis 的响应：*errorCode**errorMessage*  
造成此错误的一个可能原因是所提供的 Kinesis 数据流资源不存在。或者，QLDB 没有足够的权限将数据记录写入您指定的 Kinesis 数据流。  
验证您在流请求中提供的 Kinesis 数据流是否正确。有关更多信息，请参阅*《Amazon Kinesis Data Streams 开发人员指南》*中的 [创建和更新数据流](https://docs.aws.amazon.com/streams/latest/dev/amazon-kinesis-streams.html)。  
此外，请确认您是否为指定的 Kinesis 数据流定义了一个策略，该策略授予 QLDB 服务（`qldb.amazonaws.com`）对以下操作的权限。有关更多信息，请参阅 [流权限](streams.perms.md)。  
+ `kinesis:PutRecord`
+ `kinesis:PutRecords`
+ `kinesis:DescribeStream`
+ `kinesis:ListShards`

**IllegalArgumentException**  
消息：在验证 Kinesis 配置时，来自 Kinesis 数据流的意外响应。来自 Kinesis 的回应：*errorCode**errorMessage*  
尝试将数据记录写入所提供的 Kinesis 数据流失败，并显示提供的 Kinesis 错误响应。有关更多信息，请参阅*《Amazon Kinesis Data Streams 开发人员指南》*中的 [Amazon Kinesis Data Streams 生产人员故障排除](https://docs.aws.amazon.com/streams/latest/dev/troubleshooting-producers.html)。

**IllegalArgumentException**  
消息：开始日期不得早于结束日期。  
`InclusiveStartTime` 和 `ExclusiveEndTime` 必须采用 [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) 日期和时间格式以及通用协调时间（UTC）。

**IllegalArgumentException**  
消息：开始日期不能是未来的日期。  
`InclusiveStartTime` 和 `ExclusiveEndTime` 都必须采用 `ISO 8601` 日期和时间格式以及 UTC。

**LimitExceededException**  
消息：已超出 Kinesis 数据流同时运行 5 个日记账流的限制  
QLDB 强制使用五个并发日记账流的默认限制。