批量查询DynamoDB中的GSI?

时间:2018-08-10 00:23:33

标签: amazon-web-services amazon-dynamodb aws-sdk dynamodb-queries table-index

是否可以使用GSI上的DynamoDBMapper同时对多个哈希键值创建单个查询?例如,如果我尝试使用GSI获取表Table中的所有相关记录,则会遍历所有哈希键值,并对每个哈希键值进行单独的查询。

即目前我正在做

    for (String s : listOfStrings) {
      Attribute thing = new Attribute();
      thing.setSomeField(s);
      DynamoDBQueryExpression<Attribute> queryExpression = 
         new DynamoDBQueryExpression<Attribute>()
            .withHashKeyValues(thing)
            .withIndexName("example-GSI")
            .withConsistentRead(false);
    }

但是我想用批处理而不是for循环来做所有事情。

我已经检查了DynamoDBMapper文档,似乎没有文档,但是我只是想知道这里是否有人对这种情况有好的解决方案。

1 个答案:

答案 0 :(得分:0)

不。 DynamoDB不支持该功能。当我需要在多个哈希键上运行查询时,我使用一个循环并一次查询一个。如果愿意,您也可以发送并行请求。