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: one or more parameter values were invalid: type mismatch for index key
- DynamoDB validation error
- AWS DynamoDB CredentialsError: Missing credentials in config
- dynamodb list_append returns true but does not work
- aws lambda dynamodb nodejs not working after few puts
- could not unconvert attribute dynamodb
- DynamoDB ValidationException: Query condition missed key schema element
- DynamoDB TTL Not Working
- DynamoDB Missing Authentication Token
- resourcenotfoundexception dynamodb nodejs
- a bytes-like object is required not binary dynamodb
- dynamodb localhost not working
- Unable to start DynamoDB Local process
- DynamoDB Network Error: self signed certificate in chain
- dynamodb the table does not have the specified index
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