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

在EventBridge创建RDS实例启动触发Lambda规则遇格式错误求助

解决EventBridge RDS启动事件规则的格式错误问题

你的核心问题是混淆了AWS事件的JSON结构和EventBridge事件模式的语法规则。你写的是实际触发的事件内容,但EventBridge规则需要的是用来匹配事件的模式,语法要求每个字段的值必须是数组或匹配对象,不能直接用字符串。

错误原因解析

错误提示里的"version" must be an object or an array就是因为你给version字段赋值了字符串"0",而事件模式要求这个字段的值必须是数组(表示匹配该数组内的任意值),或者用匹配运算符的对象。

正确的事件模式示例

针对RDS实例启动的场景,你可以用以下简化且有效的事件模式:

{
  "version": ["0"],
  "detail-type": ["RDS DB Instance Event"],
  "source": ["aws.rds"],
  "region": ["eu-south-2"],
  "resources": ["XXX"],
  "detail": {
    "EventCategories": ["notification"],
    "SourceType": ["DB_INSTANCE"],
    "SourceArn": ["XXX"],
    "EventID": ["RDS-EVENT-0088"]
  }
}

关键调整说明

  • 所有字段的值都用数组包裹:比如"version": ["0"]表示匹配version为"0"的事件
  • 建议保留EventID: ["RDS-EVENT-0088"]:这是AWS官方定义的RDS实例启动事件ID,比匹配Message字段更可靠(Message可能因区域或语言变化)
  • 可以按需移除不必要的字段:比如如果不需要限制特定region或resource,可以删除对应行,扩大匹配范围

验证方法

你可以用EventBridge控制台的「测试事件模式」功能,导入一条RDS实例启动的实际事件(可以从CloudTrail或RDS事件历史里获取),来验证你的模式是否能正确匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 10:27:01