ItemCollection 上的 DynamoDB getAccumulatedConsumedCapacity 总是 returns NULL

DynamoDB getAccumulatedConsumedCapacity on ItemCollection always returns NULL

我是 运行 DynamoDB GlobalSecondaryIndex 的查询。 Post查询,我想查看我消耗了多少容量。根据文档,ItemCollection 提供了一种方法 getAccumulatedConsumedCapacity 来执行此操作。但是,当我尝试在我的代码中使用它时,它总是 returns 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");
    }
}

这段代码没有问题。该错误在调用方方法中。为了使结果 return 消耗的容量,我们必须显式设置 ReturnConsumedCapacity 字段。

例如:withReturnConsumedCapacity(ReturnConsumedCapacity.TOTAL);.