如何将DynamoDB table1写入table2?
Table1: id,name,mobile,address,createdDate.
Table2: id,name,mobile,address,createdDate.
Condition: only Yesterday added records are write to "table2". And also remove that Yesterday data from "table1".
如何每天进行此过程。
答案 0 :(得分:0)
您需要编写自己的代码来执行此操作,但您可以将其实现为AWS Lambda函数,由 Amazon CloudWatch Events计划触发。
请参阅:Tutorial: Schedule Lambda Functions Using CloudWatch Events
或者,您可以创建一个 DynamoDB Stream来触发可以立即插入数据的AWS Lambda函数,而不是每天复制一次数据。如果你的目标是每天有一张桌子,你可以在白天填充今天的桌子,并在一天结束时简单地切换到它,而不必复制任何数据 - 因为它是已经在那里了!
答案 1 :(得分:0)
这是一种可能的方法:
1)在表1上启用TTL并确保第二天删除项目(您可以在创建时将第二天日期放入ttl日期字段)。
2)在表1上启用DynamoDB流并确保其包含旧映像。
3)使用处理ttl事件的AWS lambda(检查dynamodb ttl文档以了解如何识别ttl事件)并将旧图像数据写入表2。
此解决方案应具有容错性和可伸缩性,因为lambdas将在任何失败的操作上重试。该解决方案的一个缺点是ttl不保证立即执行。在极少数情况下,项目可能需要48小时才能删除,但通常会更快。