dynobase-icon
Dynobase

Error: ValidationException: Invalid KeyConditionExpression: Attribute name is a reserved keyword;

Rafal Wilinski

Answered by Rafal Wilinski

Solution

DynamoDB has a list of reserved keywords that you cannot use in your queries or scans directly. Paste your expression into the reserved words checker to see which names need a placeholder. 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" }
        }
        

Dynobase is a Professional GUI Client for DynamoDB

Start your 7-day free trial today

Product Features

Download
/
Pricing
/
Member Portal
/
Privacy
/
EULA
/
Twitter
© 2026 Dynobase
+
Login to the AWS Console less.
Try Dynobase to accelerate your DynamoDB workflow. Start your 7-day free trial today.