Java ItemCollection上的DynamoDB GetAccumeratedConsumedCapacity始终返回NULL
我正在DynamoDB GlobalSecondaryIndex上运行一个查询。查询后,我想检查我消耗了多少容量。根据文档,ItemCollection提供了一个方法Java ItemCollection上的DynamoDB GetAccumeratedConsumedCapacity始终返回NULL,java,amazon-dynamodb,dynamodb-queries,Java,Amazon Dynamodb,Dynamodb Queries,我正在DynamoDB GlobalSecondaryIndex上运行一个查询。查询后,我想检查我消耗了多少容量。根据文档,ItemCollection提供了一个方法getAccumeratedConsumedCapacity,可以实现这一点。然而,当我试图在代码中使用它时,它总是返回NULL private void dummyMethod(QuerySpec querySpec) { ItemCollection<QueryOutcome> queryOutcomes =
getAccumeratedConsumedCapacity
,可以实现这一点。然而,当我试图在代码中使用它时,它总是返回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");
}
}
private void dummyMethod(QuerySpec QuerySpec){
ItemCollection queryOutcomes=index.query(querySpec);
迭代器Iterator=queryOutcomes.Iterator();
while(itemIterator.hasNext()){
Map itemAsMap=itemIterator.next().asMap();
//用itemAsMap做点什么
}
if(queryyoutcomes.getAccumeratedConsumedCapacity()==null){
LOGGER.error(“容量为空”);
}
}
这段代码没有问题。错误在调用方方法中。为了让结果返回消耗的容量,我们必须显式设置ReturnConsumedCapacity字段
例如:withReturnConsumedCapacity(ReturnConsumedCapacity.TOTAL)代码>