我有一个DynamoDB表,可能包含超过100,000个条目。我有一个查询表达式,我想对这个表运行,最多可以返回5,000个条目。获得此响应列表后,我将迭代它并对每个条目执行某些操作。到目前为止,这就是我所拥有的:
DynamoDBQueryExpression<...> query = new DynamoDBQueryExpression<...>();
DynamoDBMapper mapper = new DynamoDBMapper();
PaginatedList<..> results = mapper.query(Item.class, query);
for (Item item : results) {
item.doStuff();
}
我的读写能力为20,我需要确保不超过这些限制。我怎样才能做到这一点?有没有办法更改查询或PaginatedList,以便它不会以超过20个容量单位的速度返回结果?
答案 0 :(得分:0)
使用DynamoDBQueryExpression.withLimit
限制每个API调用返回的项目数。这将有助于您指导&#34;迭代分页结果时的预配置吞吐量。
withLimit非常棘手,您应该记住并一次又一次地阅读它会限制返回的每个api呼叫项目,而不是Query
呼叫返回的项目。