错误重试
Amazon SDK 对返回错误响应的请求实施自动重试逻辑。您可以为 Amazon SDK 配置重试设置。有关更多信息,请参阅 SDK 文档。
Amazon CLI 可以配置为自动重试部分失败的请求。有关配置 Amazon CLI 的重试次数的更多信息,请参阅《Amazon Command Line Interface 用户指南》中的 Amazon CLI 重试次数。
Amazon 查询 API 不支持失败的请求的重试逻辑。如果您使用的是 HTTP 或 HTTPS 请求,则必须在客户端应用程序中实现重试逻辑。
有关更多信息,请参阅 Amazon Web Services 一般参考 中的 Amazon 中的错误重试和指数回退。
下表显示了可能的 API 错误响应。部分 API 错误是可重试的。客户端应用程序始终可以重试收到可重试错误的失败请求。
错误 | 响应代码 | 描述 | 由以下对象引发 | 可重试? |
---|---|---|---|---|
InternalServerException |
500 | 由于网络或 Amazon 服务器端问题,请求失败。 | 所有 API |
是 |
ThrottlingException |
400 | API 请求的数量已超过账户允许的最大 API 请求节流限制。 | 所有 API |
是 |
RequestThrottleException |
400 | API 请求的数量已超过快照允许的最大 API 请求节流限制。 | GetSnapshotBlock | PutSnapshotBlock |
是 |
显示消息“Failed to read block data ”的 ValidationException |
400 | 提供的数据块不可读。 | PutSnapshotBlock |
是 |
显示任何其他消息的 ValidationException |
400 | 请求语法格式错误,或输入不满足 Amazon Web Service 规定的约束。 | 所有 API |
否 |
ResourceNotFoundException |
404 | 指定的快照 ID 不存在。 | 所有 API |
否 |
ConflictException |
409 | 指定的客户端令牌曾在具有不同请求参数的类似请求中使用过。有关更多信息,请参阅StartSnapshot API 的幂等性。 | StartSnapshot |
否 |
AccessDeniedException |
403 | 您无权执行请求的操作。 | 所有 API |
否 |
ServiceQuotaExceededException |
402 | 请求失败,因为执行请求将超出您账户的一项或多项相关服务限额。 | 所有 API |
否 |
InvalidSignatureException |
403 | 请求授权签名已过期。必须刷新授权签名才能重试请求。 | 所有 API |
否 |