Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon s3 并发写入同一S3文件-使用Lambda S3触发器从多个S3存储桶更新到目标S3存储桶文件_Amazon S3_Aws Lambda_Serverless_Aws Serverless_Serverless Architecture - Fatal编程技术网

Amazon s3 并发写入同一S3文件-使用Lambda S3触发器从多个S3存储桶更新到目标S3存储桶文件

Amazon s3 并发写入同一S3文件-使用Lambda S3触发器从多个S3存储桶更新到目标S3存储桶文件,amazon-s3,aws-lambda,serverless,aws-serverless,serverless-architecture,Amazon S3,Aws Lambda,Serverless,Aws Serverless,Serverless Architecture,我的用例是设计一个系统来保持从源S3 Bucket读取事件(触发Lambda(L)-->从目标读取文件,合并新上传的内容并写回目标 B:任何更新-->触发Lambda(L)-->从目标读取文件,合并新上传的内容并写回目标 这些事件可能同时发生,lambda应该在目标中不断更新相同的文件 我们如何保证目标中数据的一致性 我可以想到以下方法: 将lambda并发限制设置为1:一次对目标进行一次写入操作 在目标铲斗上实施锁定机构 安排一个CRON作业,在特定时间触发lambda,读取所有源bucket

我的用例是设计一个系统来保持从源S3 Bucket读取事件(
),并不断与目标S3 Bucket中的文件合并

比如说,

Bucket-1(
A
)| Bucket-2(
B
)| 桶-3(
目标

A
:任何更新-->触发Lambda(
L
)-->从
目标
读取文件,合并新上传的
内容
并写回
目标

B
:任何更新-->触发Lambda(
L
)-->从
目标
读取文件,合并新上传的
内容
并写回目标

这些事件可能同时发生,lambda应该在
目标中不断更新相同的文件

我们如何保证
目标中数据的一致性

我可以想到以下方法:

  • 将lambda并发限制设置为
    1
    :一次对
    目标进行一次写入操作
  • 目标
    铲斗上实施锁定机构
  • 安排一个
    CRON作业,在特定时间触发lambda
    ,读取所有源bucket,并将新上传的内容与现有内容合并,然后写入目标s3 bucket
  • 有什么建议吗