http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryingJavaDocumentAPI.html 中给出的第一个例子它返回一个 ItemCollection
根据http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#Pagination我们需要获取 lastevaluatedkey 并再次执行查询,但是从 dynamoDb.getTable("tableName").query(keyattribute) 返回的 ItemCollection 没有任何 getlastevaluatedkey
ItemCollection 文档还指出,如果跨页面边界迭代,将进行 n/w 调用,所以我们是否必须再次调用直到 http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#Pagination 中给出的或不
最佳答案
getLastEvaluatedKey 是 QueryResult 的方法(或扫描结果)。
在您引用的示例中,使用了 QueryOutcome 的集合,绕过了 QueryResult。
要获得最后评估的 key ,您可以尝试执行此操作
QueryRequest request = new QueryRequest();
request.setTableName(tablename);
QueryResult result = dynamoDB.query(request);
ItemCollection<QueryOutcome> items = result.getItems();
Map<String,AttributeValue> lastKey = result.getLastEvaluatedKey();
我希望这有帮助。
关于amazon-web-services - 如何将查询中的所有结果获取到 aws dynamodb 表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35082526/