多个S3事件一起应一起触发lambda

问题描述 投票:1回答:1

我有一个用例,将文件插入到两个不同的S3存储桶中,例如s3-1和s3-2。当我在两个存储桶中都有必需的数据时,我需要调出一些批处理作业。

我使用S3事件调出Lambda函数,该函数检查两个S3存储桶是否都有相应的文件。插入到相应S3中的文件数量不同,并且不是固定的。但是可能存在并发问题,这可能导致两次提交批处理作业。

有没有办法有效地处理它们?

amazon-web-services amazon-s3 amazon-dynamodb amazon-sqs aws-batch
1个回答
1
投票

在这种情况下,我将使用DynamoDB Atomic Counters对正在上传的文件进行计数,并且当DynamoDB返回的计数与预期的计数匹配时(例如,如果您希望将10个文件放在一起,请等待计数为10) ,然后启动批处理作业。

DynamoDB原子计数器将确保只有一个进程将获得预期的计数,因此您不会多次触发批处理作业。

© www.soinside.com 2019 - 2024. All rights reserved.