gpt4 book ai didi

java - DynamoDB - DynamoDBMapper 查询并获取整个结果集

转载 作者:行者123 更新时间:2023-12-05 05:23:57 25 4
gpt4 key购买 nike

我正在使用散列键查询 DynamoDB 表。表中的每条记录由哈希键和范围键唯一标识

DynamoDBMapper mapper;
....
MyClass myClass = new MyClass();
myClass.setHashKey(hashKey);
DynamoDBQueryExpression<MyClass> queryExpression = new DynamoDBQueryExpression<MyClass>()
.withHashKeyValues(myClass);
PaginatedQueryList<MyClass> entries = mapper.query(MyClass.class, queryExpression);
//Work with the elements of entries

当结果集超过1MB时,如何取回剩下的。我找不到任何方法来获取文档中提到的 LastEvaluatedKey

最佳答案

适用于 Dynamodb Mapper 的 AWS SDK 会为您处理分页。它在内部查询数据库,当您需要超过 1MB 的数据时,它会再次查询并为您获取数据。如果你想一次性获得完整的列表,你可以使用像大小这样的操作,或者将分页结果复制到一个列表中,这将需要映射器来获取完整的结果。简而言之,您不必担心 LastEvaluatedKey 及其处理,它已为您处理。

例子,

 PaginatedQueryList<T> resultPaginatedList = dynamoDBMapper.query(getModelClass(), queryExpression);

List<T> queryList = new LinkedList<>(resultPaginatedList); //--- Line1
logger.info("Total elements found: " + queryList.size()); //--- Line2

第 1 行和第 2 行都描述了映射器将获取完整结果(通过 SDK 处理多次查询)而不仅仅是 1MB 的操作。

关于java - DynamoDB - DynamoDBMapper 查询并获取整个结果集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36431518/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com