无法通过Event Bridge连接两个Lambda函数问题排查
排查EventBridge触发Lambda失败的可能原因
区域不匹配:第一个Lambda代码里指定发送事件到
us-east-1区域的EventBus,但如果接收事件的Lambda部署在其他区域,跨区域的EventBus相互独立,无法触发目标Lambda。请确认接收Lambda的部署区域与事件发送区域完全一致。Source前缀冲突:你使用的
aws.lambda.account作为Source值,aws.是AWS官方服务的保留前缀,虽然自定义Source允许使用该前缀,但EventBridge可能对这类前缀的事件进行特殊过滤,导致规则匹配失败。建议将Source改为非aws.开头的自定义值(比如com.your-service.account),同时同步修改接收Lambda配置里的source匹配值。IAM权限缺失:检查接收Lambda的执行角色是否包含EventBridge触发它的权限。正确的权限策略应允许
events.amazonaws.com调用该Lambda的lambda:InvokeFunction动作。如果Serverless Framework自动生成的权限被修改或遗漏,需手动添加如下策略:{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "events.amazonaws.com" }, "Action": "lambda:InvokeFunction", "Resource": "arn:aws:lambda:<区域>:<账号ID>:function:<接收Lambda名称>" } ] }事件匹配验证:在EventBridge控制台找到对应规则,使用「测试事件匹配」功能,粘贴第一个Lambda发送的事件内容,验证是否能匹配到规则。同时确认发送事件的
DetailType与配置里的detail-type完全一致(注意拼写和大小写)。日志与指标排查:
- 查看第一个Lambda的日志,打印
putEvents的返回结果,确认每个Entry是否生成EventId、是否存在ErrorCode(即使putEvents整体返回成功,单个条目仍可能失败)。 - 查看EventBridge规则的监控指标,比如
MatchedEvents和Invocations,确认事件是否被规则匹配到、是否尝试触发Lambda。 - 开启EventBridge规则的日志记录,查看事件处理的详细流程,定位匹配或触发环节的错误。
- 查看第一个Lambda的日志,打印
内容的提问来源于stack exchange,提问作者Dusan Milosevic
相关产品推荐
相关产品推荐

