求助:如何让Lambda函数在EventBridge中正常运行?
排查EventBridge调度计划未触发Lambda的常见问题
- 确认调度计划状态:检查计划是否处于启用状态,部分情况下创建后会默认禁用,可在计划详情页查看状态。
- 验证执行角色权限:
- 确保
EventBridge-Scheduler-Execution-Policy包含lambda:InvokeFunction权限,且资源为目标Lambda函数的完整ARN(若使用严格权限限制,避免通配符配置错误)。 - 检查角色信任关系,需允许
scheduler.amazonaws.com作为可信实体,信任策略示例:{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "scheduler.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
- 确保
- 查看执行历史记录:进入调度计划的「执行历史」标签,查看是否有失败记录,失败原因会明确提示问题(如权限不足、目标ARN错误等)。
- 核对Lambda目标配置:
- 确认调度计划中填写的Lambda ARN完全正确,包含正确的区域、账户ID、函数名(若使用别名或版本,需对应匹配)。
- 若Lambda配置了资源策略,需添加允许EventBridge调度服务调用的规则,示例:
{ "Effect": "Allow", "Principal": { "Service": "scheduler.amazonaws.com" }, "Action": "lambda:InvokeFunction", "Resource": "你的Lambda函数ARN", "Condition": { "ArnLike": { "AWS:SourceArn": "你的EventBridge调度计划ARN" } } }
- 检查Lambda自身配置:确认函数是否设置了预留并发导致无法接收新调用,或存在其他冲突的触发配置。
- 验证调度表达式与时区:若使用cron表达式,检查时区设置是否符合预期,避免时区偏差导致执行时间未到。
内容的提问来源于stack exchange,提问作者cmcau
相关产品推荐
相关产品推荐

