amazon-web-services - 如何将过去 7 天修改/创建的数据从 DynamoDB 备份到 S3?

标签 amazon-web-services amazon-s3 amazon-dynamodb amazon-data-pipeline

我遇到了将数据备份到 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/

相关文章:

S3 上的 Django 静态文件 : S3ResponseError: 301 Moved Permanently

apache-spark - 读取没有分区列名的分区列

mysql - 亚马逊 EC2 : MySql Database storage?

amazon-web-services - Kinesis Firehose 可以进行过滤吗?

javascript - 使用jquery.fileupload直接上传到amazon S3

amazon-web-services - 多区域 API/Lambda 架构延迟问题

java - map 上多个标记的实时动画

android - 从 GraphQL Mutation 跟踪 S3 文件上传进度

python - 在 DynamoDB 中存储推文

mysql - Spring Mysql 未在远程 IP 上正确使用 application.properties 文件数据