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 - The Security Token Included In The Request Is Invalid
- DynamoDB Local Docker Not Working
- aws.dynamodb.converter.unmarshall not working
- Unable to start DynamoDB Local process
- One or more parameter values were invalid: some AttributeDefinitions are not used
- dynamodb system errors metric
- CORS Error DynamoDB
- DynamoDB Failed To Compute Node presentation
- DynamoDB Local NoClassDefFoundError
- dynamodb botocore.exceptions.nocredentialserror unable to locate credentials
- DynamoDB Errors InvalidSignatureException Signature Expired
- ConfigError: Missing region in config
- dynamodb cannot read property 'push' of undefined
- ExpressionAttributeValues contains invalid value: One or more parameter values were invalid: An AttributeValue may not contain an empty string
- missing required key 'key' in params dynamodb