将 S3 存储桶数据实时移动到另一个存储桶 - AWS Lambda?



我们有一个父存储桶,比如"Bucket-1"。然后在这个 Bucket-1 下,我们有多个文件夹,每个客户 1 个(比如cust1、cust2、cust3等(。 我们将每个客户的 GB 数据上传到这些文件夹中。这些数据通过多个渠道上传,通过JS,通过JAVA,通过Swift IOS等。

要求:现在,我们收到了特定客户的要求,将其数据(forthecoming(上传到其他专用存储桶(例如">Bucket-2"(中(以便可以通过该客户的另一个AWS账户向客户提供一些特殊权限以进行读取访问(。

我想出的解决方案:**

  1. 所有通道(JS、Java、Swift(中的代码修改以适应此更改。但这种解决方案是 a( 耗时的,b( 将上传逻辑与特定要求紧密耦合。

  2. 使用 AWS lambda 在存储桶之间移动数据。此 lambda 将通过对该特定客户端的存储桶文件夹执行的任何操作触发。

目前#2似乎最适合我。有什么建议吗?或者您想到的任何其他解决方案?

您可以使用跨区域复制 (CRR( - Amazon Simple Storage Service 自动将 Amazon S3 存储桶(或存储桶的一部分(复制到另一个存储桶。这会自动发生,但异步发生。

缺点是它要求另一个存储桶位于不同的区域(这是 CRR 的主要用例(。

或者,您可以使用存储桶策略向其他账户授予必要的访问权限,而不是将数据复制到另一个存储桶。这比纯粹为了提供不同类型的访问而复制只读数据更有意义。在做出需要持续维护的复杂选项之前,值得探索此选项(并且存储成本会更高(。

其他有相同要求的人,也请参考下面的帖子:

亚马逊云服务器问题

最新更新