我想知道Lambda在被限制并且无法处理事件时如何处理S3事件的后台日志。 S3事件是否会被排队,排队多长时间?
假设Lambda函数受到S3桶上POST事件的触发,并且它的并发限制是10,那么如果突然出现了几百万个POST事件……这些事件是否会排队,以及给这10个Lambda实例处理这一系列事件分配了多少时间?
我想知道Lambda在被限制并且无法处理事件时如何处理S3事件的后台日志。 S3事件是否会被排队,排队多长时间?
假设Lambda函数受到S3桶上POST事件的触发,并且它的并发限制是10,那么如果突然出现了几百万个POST事件……这些事件是否会排队,以及给这10个Lambda实例处理这一系列事件分配了多少时间?
我假设通过 S3 Events Rule
触发的调用与通过 AWS SDK
、AWS CLI
等触发 Lambda 的行为相同。
这意味着您在假设情况中提到的许多 数百万个 POST 事件
不会被处理,甚至重试也不会对所有事件起作用。
只要您没有设置死信队列(DLQ),这些事件就会被丢弃,您将无法恢复它们。
我附上一些文章以了解 AWS Lambda 的行为:
异步调用- 异步事件在被用于调用 Lambda 函数之前排队。如果 AWS Lambda 无法完全处理事件,则会自动重试两次,并在重试之间延迟。
AWS Lambda 将无法处理的事件定向到指定的 Amazon SNS 主题或 Amazon SQS 队列。未指定 DLQ 的函数将在事件用尽其重试次数后丢弃这些事件。