如何对 Amazon DynamoDB 中的 HTTP 4XX 错误进行故障排除?
上次更新日期:2022 年 8 月 12 日
我想解决 Amazon DynamoDB 中的 4xx 例外情况。
-或者-
我的 Amazon DynamoDB 表有很多 UserErrors。
简短描述
HTTP 4xx 状态代码表示您的请求有问题,例如身份验证失败、缺少必需的参数或超出表的预配吞吐量。再次提交请求之前,您必须在应用程序中解决该问题。有关 4xx 错误的完整列表,请参阅错误消息和代码。
您可以使用 Amazon CloudWatch UserErrors 指标来查看同一“区域”(Region) 和账户中所有表和流的这些客户端错误。IncompleteSignatureException、ResourceNotFoundException 和 ValidationException 等异常都会导致用户错误。然而,UserErrors 指标无法捕获 ProvisionedThroughputExceededException 或 ConditionalCheckFailedException。有关更多信息,请参阅 DynamoDB 指标。
由于临时表状态的原因,您还可能会收到 4xx 错误讯息。在这些情况下,您可以稍后重试请求。
解决方法
以下是适用于 UserErrors 的统计信息:
- 总计:时间范围内的用户错误总数
- SampleCount:在时间范围内导致用户错误的请求总数
解决客户端上的用户错误:
- 要查找用户错误的根本原因,请记下 UserError 指标中指定的时间范围。然后,检查客户端应用程序日志中的该时间范围。
- 为防止用户错误,请添加 try-catch 或 if-then 语句以捕获并响应异常。有关更多信息,请参阅处理 DynamoDB 时出错。