

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

# EBS direct API 的错误重试
<a name="error-retries"></a>

**AWS SDK** 对返回错误响应的请求实施自动重试逻辑。您可以为 AWS SDK 配置重试设置。有关更多信息，请参阅 SDK 文档。

**AWS CLI** 可以配置为自动重试部分失败的请求。有关为配置重试的更多信息 AWS CLI，请参阅《*AWS Command Line Interface 用户指南》[中的](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-retries.html)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 | 指定的客户端令牌曾在具有不同请求参数的类似请求中使用过。有关更多信息，请参阅 [确保 API 请求中的等性 StartSnapshot](ebs-direct-api-idempotency.md)。 | StartSnapshot | 否 | 
| AccessDeniedException | 403 | 您无权执行请求的操作。 | 所有 API | 否 | 
| ServiceQuotaExceededException | 402 | 请求失败，因为执行请求将超出您账户的一项或多项相关服务限额。 | 所有 API | 否 | 
| InvalidSignatureException | 403 | 请求授权签名已过期。必须刷新授权签名才能重试请求。 | 所有 API | 否 | 