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

时间:2018-08-20 18:21:59

标签: amazon-web-services aws-lambda

我们有一个父存储桶,例如“存储桶1” 。然后,在这个Bucket-1下,我们有多个文件夹,每个客户1个文件夹(例如 cust1,cust2,cust3 ,依此类推)。 我们为每个客户将Gb的数据上传到这些文件夹中。并通过多个渠道,通过JS,通过JAVA,通过Swift IOS等上传这些数据。

要求: 现在,我们已经有特定客户的要求将其数据(即将到来)上传到其他专用存储桶,例如“ 存储桶2 ”(以便可以向客户提供一些特殊权限以供读取通过该客户的另一个AWS帐户访问)。

我想出的

解决方案:**

  1. 在所有通道(JS,Java,Swift)中进行代码修改以适应此更改。但是此解决方案需要a)花时间,b)将上传逻辑与特定要求紧密结合。

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

目前,#2似乎最适合我。有什么建议么?还是您想到的其他解决方案?

2 个答案:

答案 0 :(得分:1)

您可以使用Cross-Region Replication (CRR) - Amazon Simple Storage Service自动将Amazon S3存储桶(或存储桶的一部分)复制到另一个存储桶。这是自动但异步发生的。

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

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

答案 1 :(得分:0)

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

AWS issue