Моя реализация AmazonDynamoDBv2 AmazonDynamoDBAsync.queryAsync с QueryRequest возвращает код 400 «Элемент схемы ключа пропущенного условия запроса ...», когда я запрашиваю GSI.
Я попытался использовать как имя DynamoDBAttribute ("myAttr"), так и фактическое имя индекса GSI ("idx_global_myAttr") и получил один и тот же код ошибки.Это работает с образом Docker "amazon / DynamodB-Local".
Я прочитал документы DynamoDB на GSI, но я не могу понять, как нацелить вторичный индекс в этом запросе.Кажется, он отвечает только на первичный индекс.
Описание таблицы: `
tableDescription: {
attributeDefinitions: {
{
"attributeName": "myAttr",
"attributeType": "S"
},
{
"attributeName": "id",
"attributeType": "S"
}
},
...
"tableName": "myTable",
...
"globalSecondaryIndexes": [
{
"indexName": "idx_global_ myAttr",
"keyType": "HASH"
}
]
...
}
`
QueryRequest:
`
var attributeValue = new AttributeValue().withS(value);
var expressionAttributeValueMap = Map.of(":v1", attributeValue);
var queryRequest = new QueryRequest("myTable")
.withExpressionAttributeValues(expressionAttributeValeMap)
.withKeyConditionExpression("myAttr = :v1");
`