Error retries for EBS direct APIs - Amazon EBS

Error retries for EBS direct APIs

The AWS SDKs implement automatic retry logic for requests that return error responses. You can configure the retry settings for the AWS SDKs. For more information, see your SDK's documentation.

You can configure the AWS CLI to automatically retry some failed requests. For more information about configuring retries for the AWS CLI, see AWS CLI retries in the AWS Command Line Interface User Guide.

The AWS Query API does not support retry logic for failed requests. If you are using HTTP or HTTPS requests, you must implement retry logic in your client application.

The following table shows the possible API error responses. Some API errors are retryable. Your client application should always retry failed requests that receive a retryable error.

Error Response code Description Thrown by Retryable?
InternalServerException 500 The request failed due to a network or AWS server-side issue.

All APIs

Yes
ThrottlingException 400 The number of API requests has exceeded the maximum allowed API request throttling limit for the account.

All APIs

Yes
RequestThrottleException 400 The number of API requests has exceeded the maximum allowed API request throttling limit for the snapshot.

GetSnapshotBlock | PutSnapshotBlock

Yes
ValidationException with message "Failed to read block data" 400 The provided data block was not readable.

PutSnapshotBlock

Yes
ValidationException with any other message 400 The request syntax is malformed, or the input does not satisfy the constraints specified by the AWS service.

All APIs

No
ResourceNotFoundException 404 The specified snapshot ID does not exist.

All APIs

No
ConflictException 409 The specified client token was previously used in a similar request that had different request parameters. For more information, see Ensure idempotency in StartSnapshot API requests.

StartSnapshot

No
AccessDeniedException 403 You do not have permission to perform the requested operation.

All APIs

No
ServiceQuotaExceededException 402 The request failed because fulfilling the request would exceed one or more dependent service quotas for your account.

All APIs

No
InvalidSignatureException 403 The request authorization signature has expired. You can retry the request only after refreshing the authorization signature.

All APIs

No