Skip to main content

DYNDB026: Invalid GSI projection

FieldValue
CodeDYNDB026
SeverityError

Message​

Global Secondary Index '{0}' has invalid projection configuration: {1}

Description​

GSI projections must be properly configured to include all necessary attributes. Invalid projection configurations may cause runtime failures or missing data when querying the index.

Example​

The following code triggers this diagnostic:

[DynamoDbTable("Orders")]
public partial class Order
{
[PartitionKey]
[DynamoDbAttribute("pk")]
public string Pk { get; set; } = string.Empty;

[GsiPartitionKey("status-index", ProjectionType = ProjectionType.Include)]
[DynamoDbAttribute("status")]
public string Status { get; set; } = string.Empty;
}

Fix​

The corrected version:

[DynamoDbTable("Orders")]
public partial class Order
{
[PartitionKey]
[DynamoDbAttribute("pk")]
public string Pk { get; set; } = string.Empty;

[GsiPartitionKey("status-index", ProjectionType = ProjectionType.All)]
[DynamoDbAttribute("status")]
public string Status { get; set; } = string.Empty;
}