Ручная нумерация страниц с DynamoDBMapper? - PullRequest
1 голос
/ 10 апреля 2020

У меня есть Java веб-приложение, использующее DynamoDBMapper для упрощения сохранения данных в DynamoDB. В одном случае использования у меня есть очень большое количество элементов, которые я бы хотел разбить на страницы вручную в веб-приложении Angular. Тем не менее, я сталкивался с многочисленными документами, в которых говорится о поддержке DynamoDBMapper автоматической c нумерации страниц ( см. Здесь ), в которой результаты загружаются отложенным образом по мере необходимости.

Is есть способ разбить мои результаты на страницы вручную ? То есть я хотел бы указать начальное значение (либо индекс, либо ключ последней загрузки) и получить максимальное количество результатов, чтобы я мог разбивать страницы на свои собственные условия. Я не смог найти никакой документации, описывающей, как это сделать. Это возможно?

1 Ответ

0 голосов
/ 11 апреля 2020

Когда вы получаете QueryResultPage или ScanResultPage , вы получаете getLastEvaluatedKey.

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

Таким образом, вы можете использовать getLastEvaluatedKey для ручной страницы.

Следует отметить, что Dynamodb возвращает ключ только для текущего страница, то есть все, что вы можете сделать, это go на следующую страницу. Например, вы не можете знать, сколько страниц у вас есть, прежде чем начать пейджинг, или перейти к произвольному номеру страницы, не просматривая каждую страницу, чтобы попасть туда.

...