我计划创建一个ETL作业,将数据从Redshift放入DynamoDB,这些数据每天运行,旨在更新DynamoDB中存储的值。由于无法批量更新值,我正在对表执行删除和创建过程,每天用新值重新创建表。
问题来了,因为有一个API从每天刷新的DynamoDB中提取数据,所以我必须确保DynamoDB的表在任何时候都存在。API可能会在删除过程已经发生并且正在进行重新创建的时候被调用。
有没有更好的方法来进行批量生产;"更新";在DynamoDB中?
DynamoDB表模式:
- ID:分区密钥
- 版本:排序键
- 得分
- 时间戳
为什么不创建一个新表(使用新名称(,然后在它准备好进行通信时删除旧表。您可以有一个ParameterStore条目,它为调用方提供最新的表名。
(如果你在攀岩,在系上新的攀岩绳之前,不要解开。(