What's Causing This Error
This error message indicates an issue with the throughput of the DynamoDB service.
Specifically, it indicates that the rate of requests being made to the service exceeds the provisioned throughput for the table. For example, this example, this can happen if the rate of requests exceeds the number of reads or write capacity units provisioned for the table or if the number of requests exceeds the maximum allowed by the service.
Solution: Here's How To Resolve It
To solve this error:
- Check the provisioned throughput for the table and increase the read or write capacity units as needed. This can be done through the AWS Management Console, the AWS CLI, or the SDKs.
- Use the Exponential Backoff algorithm to handle the throughput error and retry the requests with an increasing delay between each retry.
- Use the boto3 library's
client.get_waiter()function to wait for the table to become active before operating.
client = boto3.client('dynamodb') waiter = client.get_waiter('table_exists') waiter.wait(TableName='your-table-name')
Other Common DynamoDB Errors (with Solutions)
- dynamodb no range key value present
- DynamoDB Is Unsupported It Cannot Be Instantiated
- dynamodb-admin command not found
- DynamoDB Error All Attributes Must Be Indexed
- could not lookup table in dynamodb
- failed to list tables not authorized dynamodb
- requested resource not found aws dynamodb
- dynamodb could not instantiate class
- dynamodb query not returning the full item
- DynamoDB - The Security Token Included In The Request Is Invalid
- dynamodb does not support null values
- an expression attribute name used in the document path is not defined
- DynamoDB Local Missing Authentication Token
- dynamodb cannot create preexisting table
- DynamoDB Scan Not Working