我正在运行以下代码:
DynamoDBScanExpression scanExpression = new DynamoDBScanExpression();
scanExpression.setLimit(100);
PaginatedScanList<T> list = dynamoDBMapper.scan(clazz, scanExpression);
检查列表的大小时,我得到40,000而不是100。
另外,当遍历列表时,我得到了所有40k项,而不仅仅是100k。
为什么限制不起作用?
使用Java客户端SDK版本
1.10.77
。 最佳答案
这是AWS Java SDK中size()
方法PaginatedList<T>
的实现,PaginatedScanList<T>
进行了扩展:
@Override
public int size() {
loadAllResults();
return allResults.size();
}
调用
size()
时,是在告诉SDK获取所有扫描结果,而不是检查当前页面的大小。