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

如何从AWS EventBridge传递匹配事件与常量至Lambda?

解决EventBridge传递完整原始事件+常量到Lambda的问题

问题背景

需要通过EventBridge调用Lambda时,同时传递完整的原始匹配事件和固定常量,且不想手动映射事件字段(因事件Schema可能动态变化)。此前配置导致原始事件被转为字符串"[Object object]",无法保留对象结构。

错误原因

之前的Input Template中,<originalEvent>被双引号包裹,EventBridge会强制将变量值转为字符串,对象类型变量调用toString()后就得到"[Object object]"。

正确配置方案

方案1:Input Path捕获事件+Template嵌入对象

  • Input Path:
{
  "originalEvent": "$"
}
  • Input Template:
{
  "myConstant": "hey now brown cow",
  "originalEvent": <originalEvent>
}

关键:<originalEvent>不要加双引号,EventBridge会直接插入变量对应的JSON对象,而非字符串。

方案2:直接在Template引用整个事件(更简洁)

无需配置Input Path,直接在Input Template中用<$>引用完整原始事件:

{
  "myConstant": "hey now brown cow",
  "originalEvent": <$>
}

效果验证

针对给定的两个事件,转换后会得到预期结构:

// 转换后的事件1
{
    "myConstant": "hey now brown cow",
    "originalEvent": {
       "id": "123",
       "detail": {
         "state": "RUNNING",
         "someProp": "someVal"
       }
    }
}

// 转换后的事件2
{
    "myConstant": "hey now brown cow",
    "originalEvent": {
       "id": "456",
       "detail": {
         "state": "FAILED",
         "someOtherProp": "someOtherValue"
       }
    }
}

该方案无需关心事件Schema的变化,会自动保留完整的原始事件结构。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 22:47:18