Amazon S3,如何将 JSON 文件复制到另一个在更新原始文件时更新的存储桶?

Posted

技术标签:

【中文标题】Amazon S3,如何将 JSON 文件复制到另一个在更新原始文件时更新的存储桶?【英文标题】:Amazon S3, how to duplicate a JSON file to another bucket that updates when the orginal is updated? 【发布时间】:2018-05-09 22:49:33 【问题描述】:

我的 S3 存储桶中有一些 JSON 文件,我想将它们复制到另一个存储桶。不仅是一次性副本,而且会在发生更新时镜像原始副本的更改,类似于对两个不同存储桶的多播。

如果我只是右键单击并点击复制并将其粘贴到另一个存储桶中,这样可以吗?

【问题讨论】:

快速谷歌搜索得到了这个 - docs.aws.amazon.com/AmazonS3/latest/dev/crr.html。这就是你所追求的吗? 【参考方案1】:

这个问题有两种解决方案

    创建一个映射到创建的对象(全部)事件类型的 Lambda 文件。因此,每当创建或修改或复制新对象时,都会触发 Lambda;其中事件将包含对对象的引用。将对象从存储桶 A 复制到 Lambda 内的存储桶 B,这将满足您的要求。 但是,这不适用于删除功能。对于 Delete,您可能必须为 Object Removed (All) 事件创建另一个 Lambda,并在 Bucket A 中的对象被删除时从 Bucket B 中删除 S3 对象。这接近实时

    编写一个每 N 分钟运行一次的调度程序,它将存储桶的所有内容从 A 复制到 B,但不是一个很好的可扩展解决方案。这更像是一个批处理解决方案

我的 2 派萨,希望对您有所帮助

【讨论】:

以上是关于Amazon S3,如何将 JSON 文件复制到另一个在更新原始文件时更新的存储桶?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用适用于 Node.js 的 AWS 开发工具包将 Amazon S3 中的所有对象从一个前缀复制/移动到另一个前缀

如何将文件从 S3 复制到 Amazon EMR HDFS?

Laravel 5:如何将文件从Amazon S3复制(流)到FTP?

Laravel 5:如何将本地文件复制到 Amazon S3?

从多个进程访问 Amazon S3 文件

如何将抓取的数据从 Scrapy 以 csv 或 json 格式上传到 Amazon S3?