插入时扫描 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.

我的猜测是对的吗?任何解释或文档链接都值得赞赏。

它按顺序浏览您的数据,并且不知道在此过程中添加的所有项目:

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

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

扫描在访问 桌子;因此,结果集可能不包括对数据的更改 在操作开始前的表中。

如果您需要跟踪在开始扫描后添加的项目,则可以使用 DynamoDB 流来实现此目的。

最新更新