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