Error: dynamodb global secondary index does not project
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)
- the dynamodb service does not have version
- DynamoDB Query Limit Not Working
- CORS Error DynamoDB
- DynamoDB Code Working In Node But Not SAM
- AWS Lambda DynamoDB Stream Error
- DynamoDB Update Not Working
- DynamoDB Not Supported Requires @DynamoDBTyped Or @DynamoDBTypeConverted
- dynamodb docker unable to open database file
- dynamodb cannot read property 's' of undefined
- DynamoDB Failed To Compute Node presentation
- can't pickle thread.lock objects typeerror boto3 python dynamodb
- Conditional Update Error DynamoDB
- boto3 dynamodb client error
- moto dynamodb not working
- dynamodb stream missing fields
Dynobase is a Professional GUI Client for DynamoDB
Try 7-day free trial. No credit card needed.
Product Features
DynamoDB Tools
DynamoDB Info
© 2023 Dynobase