You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Pulumi在AWS配置Event Bridge触发Lambda报错如何解决

问题修复方案

错误根因

你遇到的报错是AWS平台的限制:当EventBridge的目标为Lambda函数时,EventTarget不支持传入role_arn参数,该参数仅适用于ECS任务执行、SSM命令运行这类目标场景。触发Lambda不需要为EventBridge单独创建调用角色,只需要配置Lambda的资源权限,允许EventBridge服务调用该函数即可。

修正步骤

  1. 删除冗余资源:你之前创建的event_role、关联的3个角色策略挂载、以及EventRule中指定的role_arn参数都可以删除,定时触发类的EventRule不需要配置角色。
  2. 新增Lambda调用权限:添加Lambda权限资源,授权EventBridge规则可以触发该函数。
  3. 修正EventTarget配置:移除role_arn参数。

修正后代码示例

1. 移除原有event_role相关的全部代码,修正EventRule配置

event_rule = cloudwatch.EventRule(
    resource_name = '{project_name}-event-rule'.format(project_name=project_name),
    schedule_expression = 'cron(0 12 * * ? *)'
)

2. 新增Lambda权限配置

lambda_event_permission = lambda_.Permission(
    resource_name = '{project_name}-lambda-event-permission'.format(project_name=project_name),
    action = "lambda:InvokeFunction",
    function = lambda_function.name,
    principal = "events.amazonaws.com",
    source_arn = event_rule.arn
)

3. 修正EventTarget配置

event_target = cloudwatch.EventTarget(
    resource_name = '{project_name}-event-target'.format(project_name=project_name),
    rule = event_rule.name,
    arn = lambda_function.arn
)

补充说明

你参考的官方示例是EventBridge触发SSM执行命令的场景,这类场景才需要传入role_arn授权,和Lambda触发场景逻辑不同,不要直接复用配置。


内容的提问来源于stack exchange,提问作者Deepak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 01:45:01