我们有一个父存储桶,例如“存储桶1” 。然后,在这个Bucket-1下,我们有多个文件夹,每个客户1个文件夹(例如 cust1,cust2,cust3 ,依此类推)。 我们为每个客户将Gb的数据上传到这些文件夹中。并通过多个渠道,通过JS,通过JAVA,通过Swift IOS等上传这些数据。
要求: 现在,我们已经有特定客户的要求将其数据(即将到来)上传到其他专用存储桶,例如“ 存储桶2 ”(以便可以向客户提供一些特殊权限以供读取通过该客户的另一个AWS帐户访问)。
我想出的解决方案:**
在所有通道(JS,Java,Swift)中进行代码修改以适应此更改。但是此解决方案需要a)花时间,b)将上传逻辑与特定要求紧密结合。
使用AWS lambda在存储桶之间移动数据。对特定客户端的存储桶文件夹执行的任何操作都会触发此lambda。
目前,#2似乎最适合我。有什么建议么?还是您想到的其他解决方案?
答案 0 :(得分:1)
您可以使用Cross-Region Replication (CRR) - Amazon Simple Storage Service自动将Amazon S3存储桶(或存储桶的一部分)复制到另一个存储桶。这是自动但异步发生的。
不利的一面是,它要求另一个存储桶位于不同的区域(这是CRR的主要用例)。
或者,您可以使用存储桶策略为其他帐户授予必要的访问权限,而不是将数据复制到另一个存储桶。这比纯粹复制只读数据以提供不同类型的访问要有意义得多。在做出需要持续维护(并且会花费更多存储成本)的复杂选项之前,值得探索此选项。
答案 1 :(得分:0)
其他有相同要求的人,也请参考以下帖子: