Error: dynamodb query key condition not supported
Answered by Rafal Wilinski
What's Causing This Error
You may run into this error due to an invalid Key Condition expression for the specified reasons.
1. Improper Key Referrals - If you are querying a table with a composite partition key, you may encounter this error by only referring to the partition key.
2. Invalid Use of Functions - The partition key can only accept the "=" operator and will throw the specified error if any other operator or function is provided to it. For example, if you use the begins_with() function or ">, >=, <, <=" operators on the hash key, you will encounter this error.
Additionally, you may encounter this error if you use the BETWEEN operator on a table that does not have a sort key of type "number."
Solution - Here's How To Resolve It
First, ensure that you have provided the correct combination of Partition and Sort keys for your query as defined in the table or GSI.
Then, ensure that you have provided the correct operator/function for the key condition. For example, the Hash key only supports the "=" operator, and the Sort key supports the standard condition operators, excluding the "contains" function. So, make sure to use only the allowed operators in your query.
Other Common DynamoDB Errors (with Solutions)
- dynamodb mapper save not persisting
- ImportError: No module named boto3 (DynamoDB)
- dynamodb could not be mapped for type string
- DynamoDB stream no records processed
- Error retrieving DynamoDB table item validation exception
- DynamoDB batchwrite error
- DynamoDB throttling error
- DynamoDB service unavailable
- error dynamodb streams must be enabled on the table
- dynamodb property projection cannot be empty
- DynamoDB no attribute schema defined
- dynamodb attribute does not exist
- dynamodb query is not null
- DynamoDB BatchWriteItem error
- dynamodb request is missing authentication token