AmazonDynamoDBv2查询无法识别GSI

时间:2019-02-22 17:15:59

标签: java spring amazon-dynamodb dynamodb-queries amazon-dynamodb-index

当我在GSI上进行查询时,我的带有QueryRequest的AmazonDynamoDBv2的AmazonDynamoDBAsync.queryAsync的实现返回了代码400“查询条件缺少关键架构元素...”。

我尝试同时使用DynamoDBAttribute名称(“ myAttr”)和GSI的实际索引名称(“ idx_global_myAttr”),并收到相同的错误代码。这是针对Docker映像“ amazon / dynamodb-local”运行的。

我已经阅读了有关GSI的DynamoDB文档,但无法弄清楚如何在此查询中定位二级索引。它似乎只响应主索引。

表说明:     `

long long int x;
 x=958657431*100;

QueryRequest:

tableDescription: {
  attributeDefinitions: {
    {
      "attributeName": "myAttr",
      "attributeType": "S"
    },
    {
      "attributeName": "id",
      "attributeType": "S"
    }
  },
...
  "tableName": "myTable",
...
  "globalSecondaryIndexes": [
    {
      "indexName": "idx_global_ myAttr",
      "keyType": "HASH"
    }
  ]
...
}

`

1 个答案:

答案 0 :(得分:0)

已解决:

通过添加来指定QueryRequest用于哪个索引     .withIndex("idx_global_myAttr") 到QueryRequest构建器,并在KeyCondidtionExpression中使用属性名称(“ myAttr”)。