AWS EventBridge配置输入转换器后无法触发SSM Automation目标
排查EventBridge输入转换器导致SSM Automation不触发的步骤
1. 验证输入转换器输出是否匹配SSM文档参数要求
- SSM Automation文档对输入参数的格式、键名(大小写敏感)有严格要求,输出必须是合法JSON对象,且键名要和文档定义的参数完全一致。
- 用EventBridge的测试事件功能排查输出:
- 进入目标规则页面,点击「测试事件」
- 选择对应事件源模板,填入测试内容
- 查看「输入转换器输出」,确认格式合法、参数键名和类型与SSM文档匹配
- 典型错误:转换器输出
{"InstanceID": "i-12345"},但SSM文档参数是InstanceId(首字母小写),会直接导致触发失败。
2. 检查输入转换器语法正确性
- 输入路径必须严格遵循JSONPath语法:
- 嵌套字段用
.,带特殊字符的字段用单引号包裹(如$.detail['instance-id']),数组索引用[0],避免拼写错误
- 嵌套字段用
- 输入模板必须是合法JSON,占位符需用
<<>>包裹,且要和输入路径的键名对应:- 错误示例:模板写
"InstanceId": "$.detail.instanceId",正确写法应为"InstanceId": "<<InstanceId>>"
- 错误示例:模板写
3. 核对SSM Automation触发权限
- 确认EventBridge执行角色拥有
ssm:StartAutomationExecution权限,且策略中没有限制输入参数的条件(如Condition字段限制参数值) - 查看SSM自动化执行历史:进入SSM控制台→自动化→执行历史,搜索是否存在失败记录,查看具体错误信息(如「参数不匹配」「权限不足」)
4. 查看EventBridge目标错误日志
- 检查目标的重试策略和死信队列配置:若配置了死信队列,失败事件会被投递到队列,里面包含具体错误原因
- 查看EventBridge的触发日志:在CloudWatch的
aws/events日志组中,搜索规则相关日志,里面会记录目标执行失败的详细报错
5. 测试简化版输入转换器
- 先使用最简配置排查,比如只传递一个必填参数:
- 输入路径:
{"InstanceId": "$.detail.instanceId"} - 输入模板:
{"InstanceId": "<<InstanceId>>"}
- 输入路径:
- 若此配置能触发成功,再逐步添加其他参数,定位具体出问题的参数映射
内容的提问来源于stack exchange,提问作者nu_popli
相关产品推荐
相关产品推荐

