插入时扫描DynamoDB表

时间:2017-08-03 02:06:47

标签: amazon-web-services amazon-dynamodb

当我们扫描DynamoDB表时,我们可以/应该使用LastEvaluatedKey来跟踪进度,以便我们可以在出现故障时恢复。文档说明

LastEvaluateKeyThe primary key of the item where the operation stopped, inclusive of the previous result set. Use this value to start a new operation, excluding this value in the new request.

我的问题是,如果我开始扫描,暂停,插入几行并从之前的LastEvaluatedKey恢复扫描,我会在恢复扫描后获得这些新行吗?

我的猜测是我可能会错过所有新行中的一些,因为新密钥会被散列并且值可能会小于LastEvaluatedKey

我猜对了吗?任何解释或文档链接都表示赞赏。

1 个答案:

答案 0 :(得分:1)

它会依次通过您的数据,并且不知道在此过程中添加的所有项目:

  

扫描操作按顺序进行;但是,为了更快的性能   在大型表或二级索引上,应用程序可以请求一个   并行通过提供Segment和TotalSegments扫描操作   参数。

不仅可以错过在您开始扫描后添加的某些项目,如果您最终使用,还可能会错过在扫描开始之前添加的一些项目一致阅读:

  

扫描在访问数据时最终使用一致读取   表;因此,结果集可能不包括对数据的更改   在操作开始前的表格中。

如果您需要跟踪在开始扫描后添加的项目,可以使用DynamoDB streams