我遇到了将数据备份到 S3 的 AWS datapipeline 模板。但是,我不想备份整个表。我只想保留过去 7 天内发生的更改的快照。
我认为解决这个问题的方法是在我的表的last_updated_date列上有一个GSI来扫描更改的记录。现在,是否可以使用 AWS Datapipelines 来实现结果?
最佳答案
除非这对您来说只是一次性任务,否则我建议使用 DynamoDB Streams 和 Kinesis 或 Lambda 将更改备份到持久存储。 DynamoDB Streams 捕获任何 DynamoDB 表中按时间排序的项目级修改序列,并将该信息在日志中存储最多 24 小时。您可以结合 DynamoDB Streams 触发 Lambda 函数,并将更改写入 S3 并实现近乎实时的连续备份。
使用 GSI 当然可以加快查找速度,但您需要为 GSI 和表本身预置大量吞吐能力,才能处理大型表的任务。
您可以在下面找到有关 Streams 的相关 AWS 文档:
1. Capturing Table Activity with DynamoDB Streams
2. Using the DynamoDB Streams Kinesis Adapter to Process Stream Records
还有一篇关于它的不错的博客文章,其中包含示例:
DynamoDB Update – Triggers (Streams + Lambda) + Cross-Region Replication App
希望这有帮助!
关于amazon-web-services - 如何将过去 7 天修改/创建的数据从 DynamoDB 备份到 S3?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40784616/