Разбивка на страницы с помощью DynamoDBMapper Java AWS SDK

Из документации API Dynamo DB поддерживает разбиение на страницы для операций сканирования и запросов. Уловка здесь заключается в том, чтобы установитьExclusiveStartIndex текущего запроса к значениюLastEvaluatedIndex предыдущего запроса, чтобы получить следующий набор (логическая страница) результатов.

Я пытаюсь реализовать то же самое, но я используюDynamoDBMapper, что, кажется, имеет гораздо больше преимуществ, таких как тесная связь с моделями данных. Так что, если бы я хотел сделать выше, я предполагаю, что я бы сделал что-то вроде ниже:

// Mapping of hashkey of the last item in previous query operation
Map<String, AttributeValue> lastHashKey = .. 
DynamoDBQueryExpression expression = new DynamoDBQueryExpression();

...
expression.setExclusiveStartKey();
List<Table> nextPageResults = mapper.query(Table.class, expression);

Я надеюсь, что мое понимание выше верно при разбивке на страницы с помощью DynamoDBMapper. Во-вторых, откуда мне знать, что я достиг конца результатов. Из документов, если я использую следующие API:

QueryResult result = dynamoDBClient.query((QueryRequest) request);
boolean isEndOfResults = StringUtils.isEmpty(result.getLastEvaluatedKey());

Возвращаясь к использованию DynamoDBMapper, как я могу узнать, достиг ли я конца результатов в этом случае.

Ответы на вопрос(1)

Ваш ответ на вопрос