Error: ValidationException: Invalid KeyConditionExpression: Attribute name is a reserved keyword;
Answered by Rafal Wilinski
Solution
DynamoDB has a list of reserved keywords that you cannot use in your queries or scans directly. If you need to write an expression that contains one of them, you need to use ExpressionAttributeNames to replace reserved word with a placeholder. For example, this query with reserved keyword:
params = { TableName : ‘MY_TABLE’, FilterExpression: "timestamp BETWEEN :startDate AND :endDate", ExpressionAttributeValues: { ":startDate": ""+startDate, ":endDate": ""+endDate } }
Replace with:
params = { TableName : ‘MY_TABLE’, FilterExpression: "#dynobase_timestamp BETWEEN :startDate AND :endDate", ExpressionAttributeValues: { ":startDate": startDate, ":endDate": endDate }, ExpressionAttributeNames: { "#dynobase_timestamp": "timestamp" } }
Other Common DynamoDB Errors (with Solutions)
- dynamodb throttle error code
- dynamodb atomic counter not working
- DynamoDB Error 413
- missing required key 'key' in params dynamodb
- dynamodb cannot convert undefined or null to object
- DynamoDB Update Not Working
- DynamoDB Failed To Compute Node presentation
- DynamoDB error cannot find module build/Release/DTraceProviderBindings
- DynamoDB ConditionalCheckFailedException
- dynamodb autoscaling not fast enough
- Unable to start DynamoDB Local process
- DynamoDB Mapper Could Not Instantiate Class
- ConfigError: Missing region in config
- could not lookup table in dynamodb
- lambda function not triggering from dynamodb
Tired of switching accounts and regions? Use Dynobase.
Try 7-day free trial. No credit card needed.
Product Features
DynamoDB Tools
DynamoDB Info
© 2024 Dynobase