我们目前正在将数据发布到 S3 存储桶。我们现在有多个客户端来使用我们存储在存储桶中的这些数据。每个客户都希望拥有自己的存储桶。要求是将数据发布到每个存储桶。
选项 1:让我们的发布者发布到每个 S3 存储桶。缺点:我们的发布应用程序有更多逻辑。根据客户端处理失败/重试。
选项2:使用S3的跨区域复制理由:即使我们可以将对象转移到其他账户,也只能指定一个目的地。如果源存储桶具有服务器端加密,我们无法复制。
选项 3:AWS 兰巴。让 S3 调用 Lamba 并将 Lamba 发布到多个存储桶。困惑:不确定这与选项 1 有何不同。
选项 4:以只读方式限制对我们的 S3 存储桶的访问。让客户从中阅读。但是想知道客户如何知道一个对象是否已经被读取!我不喜欢基于时间的文件夹,我们有多个发布者到这个 S3 存储桶,客户无法确定文件夹是否确实完整。
有什么好的选择可以解决上述问题吗?