小编Par*_*ani的帖子

DynamoDB Java v2 sdk 的 QueryEnhancedRequest 中的 Limit 方法未按预期进行限制

我正在使用 v2 aws DynamoDV Java sdk,并且我想限制通过分区键查询时返回的结果数量(下面的代码片段),但下面的代码返回完整的项目集。

java 文档说“注意:限制不是指要返回的项目数,而是指数据库在执行查询时应评估的项目数。在后续查询调用中将 limit 与 Page.lastEvaluatedKey() 和 ExclusiveStartKey 一起使用来评估限制每次调用的项目。” 这似乎支持我所看到的行为。

但是,如何使用 Java 设置 DynamoDB 返回的匹配项的限制?在早期版本的 sdk 中有使用 .withMaxResultSize 方法的解决方案。

java dynamodb v2 skd 是否有类似的东西,或者我必须手动限制结果集?代码如下:

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

Run Code Online (Sandbox Code Playgroud)

java amazon-dynamodb dynamo-local dynamodb-queries amazon-dynamodb-local

6
推荐指数
1
解决办法
6749
查看次数