问题描述
阅读了很多有关AWS Lambda的错误处理的知识,而有关正在运行的Lambda容器崩溃的话题没有任何内容。
这是否可能,因为它好像一个?我正在使用Lambda构建事件驱动的系统,该事件是由文件上传到S3触发的,并且不确定是否应该在lambda死后不进行逻辑上的处理来进行处理。
例如在S3上创建文件对象-> S3通知Lambda事件-> Lambda实例在开始处理之前就崩溃了->事件现在永远消失了*(假设在这里,我不确定是否是这样,但是不能找到相反的说法。
我正在辩论建立逻辑,以协调S3上的内容和每天处理的内容,以便我可以检测到Lambda死亡(死亡并且无法向DLQ写入失败)的(尽管很罕见)情况。我们需要处理这些文件。这值得吗? S3是否会以某种方式知道该lambda已死并且需要将事件置于自己的DLQ上?
解决方法
来自https://docs.aws.amazon.com/fr_fr/lambda/latest/dg/with-s3.html的AWS S3是异步的。
接下来,从https://docs.aws.amazon.com/lambda/latest/dg/invocation-retries.html开始,异步lambda调用将重试两次,而不会排队。
我猜是否需要更多尝试,最好设置SNS / SQS排队。