我正在使用哈希键查询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
.
1 回答
AWS SDK for Dynamodb Mapper为您处理分页 . 它在内部查询数据库,当您需要超过1MB的数据时,它会再次查询并获取数据 . 如果您想要一次性使用完整列表,则可以使用大小等操作或将分页结果复制到列表中,这将需要映射器获取完整结果 . 简而言之,您无需担心LastEvaluatedKey及其处理方式 .
示例,PaginatedQueryList resultPaginatedList = dynamoDBMapper.query(getModelClass(),queryExpression);
第1行和第2行都描述了映射器将获取完整结果的操作(通过查询由SDK处理的多次)而不仅仅是1MB .