Reputation: 1215
I recently came across the Rate Exceeding/Throttling issues on multiple AWS services with a simple code such as follow:
AWSCertificateManager cm = AWSCertificateManagerClientBuilder.standard().withRegion(Regions.EU_CENTRAL_1).withCredentials(new AWSStaticCredentialsProvider(credentials)).build();
for(CertificateSummary certificateSummary : cm.listCertificates(new ListCertificatesRequest()).getCertificateSummaryList()){
....
}
with the error message like this:
Rate exceeded (Service: AWSCertificateManager; Status Code: 400; Error Code: ThrottlingException; Request ID: 61866e5f-f74a-46cc-9557-8b36f75cc7b1; Proxy: null)
But I am not sure why it was triggered in the first place. Any idea on how to resolve this?
Upvotes: 1
Views: 3574
Reputation: 2903
From the AWS Certificates Manager Limits page:
The following quotas apply to the ACM API for each region and account. ACM throttles API requests at different quotas depending on the API operation. Throttling means that ACM rejects an otherwise valid request because the request exceeds the operation's quota for the number of requests per second. When a request is throttled, ACM returns a ThrottlingException
error. The following table lists each API operation and the quota at which ACM throttles requests for that operation.
Requests-per-second quota for each ACM API operation
API call | Requests per second |
---|---|
AddTagsToCertificate |
5 |
DeleteCertificate |
10 |
DescribeCertificate |
10 |
ExportCertificate |
5 |
GetAccountConfiguration |
1 |
GetCertificate |
10 |
ImportCertificate |
1 |
ListCertificates |
1 |
ListTagsForCertificate |
10 |
PutAccountConfiguration |
1 |
RemoveTagsFromCertificate |
5 |
RenewCertificate |
5 |
RequestCertificate |
5 |
ResendValidationEmail |
1 |
UpdateCertificateOptions |
5 |
You can resolve this by putting a sleep or wait between each request.
Upvotes: 1