我正在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");
}
}
1条答案
按热度按时间fsi0uk1n1#
这段代码没有问题。错误在调用方方法中。为了让结果返回消耗的容量,我们必须显式地设置returnconsumedcapacity字段。
例如:
withReturnConsumedCapacity(ReturnConsumedCapacity.TOTAL);
.