Метод ограничения в QueryEnhancedRequest для DynamoDB Java v2 sdk не ограничивает ожидаемым образом - PullRequest
1 голос
/ 16 июня 2020

Я использую v2 aws DynamoDV Java sdk и хочу ограничить количество результатов, возвращаемых при запросе с помощью ключа раздела (фрагмент кода ниже), но приведенный ниже код возвращает полный набор элементов назад.

Документы java говорят: «Примечание. Ограничение относится не к количеству возвращаемых элементов, а к количеству элементов, которые база данных должна оценивать при выполнении запроса. Используйте ограничение вместе с Page.lastEvaluatedKey () и exclusiveStartKey в последующих вызовах запроса, чтобы оценить количество элементов ограничения на вызов ". который, по-видимому, поддерживает наблюдаемое мной поведение.

Однако Как установить предел совпадающих элементов, возвращаемых DynamoDB с помощью Java? имеет решение с использованием метода .withMaxResultSize в более ранняя версия sdk.

Имеет ли java Dynamodb v2 skd что-то подобное, или мне придется ограничивать набор результатов вручную? Код выглядит так:

QueryConditional conditional = QueryConditional.keyEqualTo(
                Key.builder()
                        .partitionValue(jobId)
                        .build()
        );
QueryEnhancedRequest request = QueryEnhancedRequest.builder()
                .queryConditional(conditional)
                .limit(1)
                .scanIndexForward(false)
                .build();

...