Почему лимит DynamoDB не работает со сканированием? - PullRequest
0 голосов
/ 27 февраля 2019

Я использую следующий код:

DynamoDBScanExpression scanExpression = new DynamoDBScanExpression();
scanExpression.setLimit(100);
PaginatedScanList<T> list = dynamoDBMapper.scan(clazz, scanExpression);

При проверке размера списка я получаю 40 000 вместо 100 .

Кроме того, при переборе по списку я получаю все элементы 40 КБ вместо 100.

Почему не работает ограничение?

Использование java-клиента SDK версии 1.10.77.

1 Ответ

0 голосов
/ 01 марта 2019

Вот реализация size() метода PaginatedList<T> в AWS Java SDK, который PaginatedScanList<T> расширяется:

  @Override
public int size() {
    loadAllResults();
    return allResults.size();
}

Когда вы вызываете size(), вы говорите SDK:получить все результаты вашего сканирования, не проверяя размер текущей страницы.

...