我的用例是设计一个系统,以保持从 Source S3 Buckets 中读取事件( content
)并与< strong>目标S3存储桶。
例如,
Bucket-1( A
)|
Bucket-2( B
)|
Bucket-3( Target
)
A
:任意更新--->触发Lambda( L
)--->从 {{ 1}} 并合并新上传的 Target
并写回 content
Target
:任意更新--->触发Lambda( B
)--->从 {{ 1}} 并合并新上传的 L
并写回 Target
这些事件可以同时发生,并且lambda应该继续更新 Target
中的同一文件。
我们如何保证 content
存储桶中数据的一致性?
我可以想到以下方法:
Target
:一次对Target
进行一次写操作1
存储桶上的实现锁定机制。Target
并读取所有源存储桶,并将新上传的内容与现有内容合并,然后写入目标s3存储桶。有什么建议吗?