Error: dynamodb global secondary index does not project

Answered by Rafal Wilinski
What's Causing This Error
This error message indicates an issue with how the global secondary index (GSI) is used in a DynamoDB table.
Specifically, it indicates that the GSI is not projecting the necessary attributes. This can happen if the GSI is not correctly configured if the GSI is not being updated with the required attributes.
Solution: Here's How To Resolve It
To solve this error, check the configuration of the GSI to ensure that it is correctly set up and projecting the necessary attributes.
Hence, when creating the GSI, specify the attributes you want to project using the Projection property.
import boto3
# Instantiate a client
dynamodb = boto3.client('dynamodb', region_name='us-west-2')
# Define the parameters
table_name = "my_table"
gsi_name = "my_gsi"
attributes_to_project = ["attribute1", "attribute2"]
gsi_params = {
'Attribute_definitions': [
{
'Attribute_name': 'attribute1',
'attribute_type': 'S'
},
{
'attribute_name': 'attribute2',
'attribute_type': 'S'
},
],
'key_schema': [
{
'attribute_name': 'attribute1',
'key_type': 'HASH'
},
{
'attribute_name': 'attribute2',
'key_type': 'RANGE'
}
],
'projection': {
'projection_type': 'INCLUDE',
'non_key_attributes': attributes_to_project
},
'provisioned_throughput': {
'read_capacity_units': 5,
'write_capacity_units': 5
}
}
# Create the GSI
dynamodb.create_table(TableName=table_name, GlobalSecondaryIndexes=[{'IndexName': gsi_name, **gsi_params}
Other Common DynamoDB Errors (with Solutions)
- dynamodb cannot convert undefined to object
- dynamodb exclusivestartkey not working
- dynamodb list_append if_not_exists not working
- Could not connect to the endpoint URL https:dynamodb.singapore.amazonaws.com
- dynamodb unable to parse base64 string
- dynamodb-admin not working
- dynamodb no range key value present
- AWS Lambda DynamoDB Stream Error
- DynamoDB consistent read not working
- dynamodb query not returning the full item
- dynamodb table did not stabilize
- error updating dynamodb table time to live
- localstack dynamodb not working
- DynamoDB Scan Not Working
- dynamodb system errors metric
Dynobase is a Professional GUI Client for DynamoDB
Try 7-day free trial. No strings attached.
Product Features
DynamoDB Tools
DynamoDB Info
© 2026 Dynobase