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

如何通过EventBridge和SNS自定义发送至Slack的消息?

可以通过EventBridge Input Transformer实现自定义Slack消息格式

无需额外部署Lambda,直接利用EventBridge的Input Transformer就能将CloudWatch告警、AWS Config规则等源事件转换为Slack友好的自定义格式,核心是将源事件字段映射到Slack机器人支持的JSON消息结构中。

配置要点

在EventBridge规则的目标配置中,选择SNS主题后展开「输入转换器」,分两部分配置:

  • 输入路径:用JSONPath提取源事件中需要的字段
  • 输入模板:编写Slack兼容的JSON格式,用<变量名>引用输入路径提取的字段

示例模板

场景1:CloudWatch告警转换为Slack通知

输入路径

{
  "alarmName": "$.detail.alarmName",
  "alarmDescription": "$.detail.alarmDescription",
  "newStateValue": "$.detail.state.value",
  "newStateReason": "$.detail.state.reason",
  "alarmArn": "$.detail.alarmArn"
}

输入模板

{
  "text": "*AWS CloudWatch 告警通知*\n> 告警名称: <alarmName>\n> 告警状态: *<newStateValue>*\n> 告警描述: <alarmDescription>\n> 触发原因: <newStateReason>\n> 告警ARN: <alarmArn>"
}

该模板生成带Markdown格式的文本消息,Slack会自动解析加粗、引用样式。

场景2:AWS Config规则合规状态变更通知

输入路径

{
  "ruleName": "$.detail.ruleName",
  "complianceType": "$.detail.newEvaluationResult.complianceType",
  "resourceType": "$.detail.resourceType",
  "resourceId": "$.detail.resourceId",
  "annotation": "$.detail.newEvaluationResult.annotation"
}

输入模板

{
  "blocks": [
    {
      "type": "section",
      "text": {
        "type": "mrkdwn",
        "text": "*AWS Config 合规状态变更*\n> 规则名称: <ruleName>\n> 资源类型: <resourceType>\n> 资源ID: <resourceId>\n> 合规状态: *<complianceType>*"
      }
    },
    {
      "type": "divider"
    },
    {
      "type": "section",
      "text": {
        "type": "mrkdwn",
        "text": "备注: <annotation>"
      }
    }
  ]
}

此模板使用Slack的Blocks组件生成结构化消息,包含分隔线、分段展示,视觉效果更清晰。

注意事项

  • 确保Slack机器人集成允许接收JSON格式的消息 payload
  • 输入模板中的变量名需与输入路径的键完全匹配(大小写敏感)
  • 可通过EventBridge的「测试事件」功能模拟源事件,验证转换后的格式是否符合预期

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 09:33:11