Event Bridge触发AWS Lambda时,单调用负载是否会包含多个事件?
Event Bridge触发Lambda的事件批量问题解答
结论先行:默认配置下,Event Bridge触发Lambda时,每次调用的事件数组只会包含一个事件;只有当你手动开启了**批量处理(Batch Processing)**功能时,才会出现单个调用接收多个事件的情况。
1. 默认行为:单事件单调用
Event Bridge的默认规则是每个事件独立触发一次Lambda调用,所以Lambda函数收到的event参数永远是只包含一个元素的数组。哪怕是午夜这种事件突发场景,AWS会自动启动多个Lambda实例并行处理这些事件,不会把多个事件打包进同一个调用里。
2. 批量处理的特殊场景
只有当你主动在Event Bridge规则的目标配置中设置了Batch size(批量大小)和Batch window(批量窗口)参数时,才会触发批量处理:系统会在指定的时间窗口内收集事件,当达到设定的批量大小或窗口结束时,把这些事件打包成一个数组发送给单个Lambda调用。这个功能是需要手动开启的,默认不会生效。
3. 对你的超时计算的影响
如果你没有手动配置批量处理,完全可以安全地假设每次Lambda调用仅处理一个事件,你的超时时间计算不会失效。如果担心配置有误,可以前往Event Bridge规则的目标设置页面,确认Batch size为默认值0即可。
内容的提问来源于stack exchange,提问作者Vikas
相关产品推荐
相关产品推荐

