我正在使用 v2 aws DynamoDV Java sdk,并且我想限制通过分区键查询时返回的结果数量(下面的代码片段),但下面的代码返回了完整的项目集。
java文档说“注意:限制不是指要返回的项目数,而是数据库在执行查询时应该评估多少项目。在后续查询调用中使用limit与Page.lastEvaluatedKey()和exclusiveStartKey一起评估限制每次通话的项目。” 这似乎支持我所看到的行为。
但是,如何设置 DynamoDB 使用 Java 返回的匹配项的限制?在早期版本的 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();