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