CloudFormation部署后Lambda未显示EventBridge触发器问题排查
问题排查与解决
核心结论:不需要在Lambda中额外添加事件配置,问题通常出在CloudFormation模板的资源关联或权限定义上,以下是具体排查点:
检查EventBridge Rule的Targets配置
确保Rule的Targets里正确指定了Lambda的ARN,建议用CloudFormation内置函数动态获取,避免硬编码错误:EventBridgeRule: Type: AWS::Events::Rule Properties: # 事件模式等其他规则配置 Targets: - Id: "LambdaTarget" Arn: !GetAtt AutoTagLambda.Arn必须显式配置Lambda触发权限
手动关联EventBridge和Lambda时,AWS会自动为Lambda添加资源策略,但CloudFormation部署需要显式定义AWS::Lambda::Permission资源,否则EventBridge没有权限调用Lambda:LambdaEventBridgePermission: Type: AWS::Lambda::Permission Properties: FunctionName: !Ref AutoTagLambda Action: "lambda:InvokeFunction" Principal: "events.amazonaws.com" SourceArn: !GetAtt EventBridgeRule.Arn验证CloudFormation堆栈部署状态
登录CloudFormation控制台,查看堆栈的「事件」标签,确认所有资源(Rule、Lambda、Permission)都已成功创建,没有失败或回滚记录。控制台刷新延迟问题
Lambda控制台的触发器列表有时会有刷新延迟,尝试手动刷新页面,或等待1-2分钟后再查看「配置」->「触发器」标签页。确认EventBridge Rule的目标状态
进入EventBridge控制台,找到对应的Rule,查看「目标」配置,确认Lambda已被添加且状态为「启用」。
内容的提问来源于stack exchange,提问作者Ryan Davies
相关产品推荐
相关产品推荐

