Error: dynamodb property projection cannot be empty

Answered by Rafal Wilinski
What's Causing This Error
This error message indicates that the ProjectionExpression
property of the 'Scan' or 'Query' operation is empty or not set. The ProjectionExpression
is used to specify the attributes that need to be returned from an item.
If you have provided the ProjectionExpression
parameter and have given an empty string, you will run into this error.
Solution: Here's How To Resolve It
To solve this error, provide a value for the ProjectionExpression
property. Generally, you can define the name of the attributes you wish to project in the operation.
Here is an example of how to perform a scan operation with a valid 'ProjectionExpression':
import boto3 # Instantiate a client dynamodb = boto3.client('dynamodb', region_name='us-west-2') # Define the parameters table_name = "my_table" projection_expression = "attribute1, attribute2" # Perform the operation response = dynamodb.scan(TableName=table_name, ProjectionExpression=projection_expression) print(response)
You can also use ExpressionAttributeNames
to provide an alias for your attribute names.
import boto3 # Instantiate a client dynamodb = boto3.client('dynamodb', region_name='us-west-2') # Define the parameters table_name = "my_table" projection_expression = "#a1, #a2" expression_attribute_names = {"#a1": "attribute1", "#a2": "attribute2"} # Perform the operation response = dynamodb.scan(TableName=table_name, ProjectionExpression=projection_expression, ExpressionAttributeNames=expression_attribute_names) print(response)
Other Common DynamoDB Errors (with Solutions)
- dynamodb user errors metric
- DynamoDB Network Error: self signed certificate in chain
- DynamoDB Query Limit Not Working
- DynamoDB Item Does Not Exist
- ProvisionedThroughputExceededException DynamoDB
- dynamodb unknown error
- dynamodb unable to locate credentials
- error updating dynamodb table time to live
- dynamodb cannot convert undefined to object
- dynamodb global secondary index does not project
- dynamodb net scan condition or not working
- dynamodb local unable to locate credentials
- dynamodb getItem() is not a function
- dynamodb: one or more parameter values were invalid: type mismatch for index key
- dynamodb 1 validation error detected value
Login to the AWS Console less. Use Dynobase.
First 7 days are on us. No strings attached.
Product Features
DynamoDB Tools
DynamoDB Info
© 2025 Dynobase