当前位置: 首页 > 知识库问答 >
问题:

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

蒯安平
2023-03-14

我使用v2 aws DynamoDVJavasdk,我想限制分区键查询时返回的结果数量(下面的代码片段),但下面的代码返回完整的项目集。

java文档说:“注意:限制不是指要返回的项数,而是指数据库在执行查询时应该计算的项数。在后续的查询调用中,将限制与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();

共有1个答案

闻飞跃
2023-03-14

请阅读https://github.com/aws/aws-sdk-java-v2/issues/1951

您需要限制从iterable返回的页数。实例

PageIterable<MyMovie> myMovie = moviesTable.query(queryEnhancedRequest);

myMovie.items()
        .stream()
        .limit(2)
        .forEach(content -> System.out.println(" Movie: %s (%s) \n", content.title, content.year));

如果您在queryEnhancedRequest中设置了限制(1),那么这将获取2个页面,每个页面将有1个项目

 类似资料:
  • 我正在尝试用Java编写一个进程,该进程并发执行一系列任务,等待任务完成,然后将整个进程标记为完成。每个任务都有自己的信息,包括单个任务何时完成。我将使用ExecutorService作为流程,并将流程的本质归纳如下: 每个MyRunnable对象都有一个run方法,该方法进行webservice调用,然后将调用的结果写入数据库,包括调用完成的时间。ComplethisProcess方法只是将整个

  • 根据以下文档:http://testng.org/doc/documentation-main.html “如果测试类上有一个方法tearDown(),那么在每个测试方法之前和之后都会调用它”(JUnit 3) 我使用的是JUnit版本:3.8.1 这里的这个是在我的测试之前运行的,但我希望它会在测试之后。它在测试后没有运行: 我可以通过将第一行更改为: 但是,下一个类(下面)的表示法与第一个类完

  • 我目前正在用maven 3.1.1和maven war插件2.4建立一个web项目(http://maven.apache.org/plugins/maven-war-plugin/war-mojo.html). 特别是,我正在尝试用maven war插件复制和过滤资源,这种方式我在过去已经做过了,而且很有效。以下是相关pom配置: WAR插件配置 激活的配置文件定义: META-INF/上下文。

  • 我尝试DateTimeFormatter将输入日期解析为。我使用了下面的代码 无法解析日期 闰年也是失败的。

  • 问题内容: 以下是我要做什么的快速概述。我想从一个方法调用将记录推送到数据库中的两个不同表。如果有任何失败,我希望一切都回滚。因此,如果失败,我希望将提交的任何内容回滚。 其中的接口是使用mybatis映射到数据库并使用Spring注入设置的。 现在,如果失败,所有内容仍然会推送到数据库。我该如何纠正这种行为? 编辑: 我修改了该类,以更准确地描述我要实现的目标。如果我直接运行,则在出现任何问题时

  • 本文向大家介绍在MySQL中使用LIMIT进行分页的方法,包括了在MySQL中使用LIMIT进行分页的方法的使用技巧和注意事项,需要的朋友参考一下 今天看一个水友说他的MySQL现在变的很慢。问什么情况时。说单表超过2个G的一个MyISAM。真垃圾的回答方式。     简单答复:换一个强劲的服务器。换服务器很管用的:) ………        最终让取到慢查询:   如:             看