dynamodb getaccumulatedconsumedcapacity始终返回null

qlzsbp2j  于 2021-07-05  发布在  Java
关注(0)|答案(1)|浏览(382)

我正在dynamodb globalsecondaryindex上运行一个查询。查询后,我想检查我消耗了多少容量。根据文档,itemcollection提供了一个 getAccumulatedConsumedCapacity 就是这样。但是,当我尝试在代码中使用它时,它总是返回null。

private void dummyMethod(QuerySpec querySpec) {
    ItemCollection<QueryOutcome> queryOutcomes = index.query(querySpec);

    Iterator<Item> itemIterator = queryOutcomes.iterator();

    while(itemIterator.hasNext()) {
        Map<String, Object> itemAsMap = itemIterator.next().asMap();
        // do something with itemAsMap
    }

    if(queryOutcomes.getAccumulatedConsumedCapacity() == null) {
        LOGGER.error("capacity is null");
    }
}
fsi0uk1n

fsi0uk1n1#

这段代码没有问题。错误在调用方方法中。为了让结果返回消耗的容量,我们必须显式地设置returnconsumedcapacity字段。
例如: withReturnConsumedCapacity(ReturnConsumedCapacity.TOTAL); .

相关问题