使用Java中的Table.scan api进行Dynamodb并行扫描

时间:2016-09-06 10:40:48

标签: java amazon-dynamodb aws-sdk full-table-scan

我很感激任何熟悉DynamoDB工作方式的人的帮助。 我需要在大型DynamoDB表上执行扫描。我知道DynamoDBClient扫描操作仅限于1 MB大小的返回数据。 Table.scan操作是否也适用相同的限制?问题是Table.scan操作返回类型&#34; ItemCollection<ScanOutcome>&#34;的输出,而DynamoDBClient扫描返回ScanResult输出,我不清楚这些操作是否以类似的方式工作。

我已经检查了这个示例:http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ScanJavaDocumentAPI.html,但它没有包含有关使用上一个返回密钥的任何提示。

我的问题是: 如果我使用Table.scan,是否仍然需要在一个循环中进行扫描调用,直到lastreturnedkey为null?如果是,我如何获得最后一个密钥?如果没有,我该如何强制执行分页? 任何代码示例的链接将不胜感激。我花了一些时间谷歌搜索示例,但大多数是使用DynamoDBClient或DynamoDBMapper,而我需要使用表和索引对象。

谢谢!

1 个答案:

答案 0 :(得分:0)

如果您迭代Table.scan()的输出,SDK会为您做分页。