如何处理Lambda和S3 Buckets的同步



我有一个用Python编写的lambda函数,该函数处理S3 bucket中的一些文件,一旦处理完成,将其移动到另一个S3 bucket。这个Lambda函数是通过S3 bucket上的File Creation和调度器每15分钟触发一次的。但有时会发生的情况是,由于触发器和调度程序,同一个文件被多次处理,

如何使其同步?如果文件创建触发器正在为s3 bucket中的一个文件运行,那么该文件应该被锁定,调度器无法处理它。简单术语:触发器:找到文件->锁定它->处理它->解锁

所以,若调度程序被调用并找到相同的文件,由于锁定,它就无法访问它。

有什么帮助吗?

我没有足够的声誉,所以请在这里发表评论。我认为您使用调度程序来处理失败的数据是一个糟糕的设计。使用SQS+SQS死信队列+Lambda可以获得更好的结构。这是处理事件和失败事件的最佳实践之一

最新更新