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

如何通过EventBridge输入转换传递子对象数组?

EventBridge输入转换提取数组/子对象的正确方式

你遇到的问题是因为EventBridge的输入转换对数组类型的JSONPath处理需要用模板语法,而非直接填写裸JSONPath。

正确配置方法

要提取整个items数组,需在EventBridge规则的**输入模板(Input Template)**中使用<JSONPath>的包裹语法,步骤如下:

  1. 进入EventBridge规则的输入转换设置,选择「输入转换器」
  2. 在「输入模板」中填写:
    {"items": <$.detail.sale.items>}
    
    若只需传递数组本身,也可直接写:
    <$.detail.sale.items>
    
  3. 「输入路径」可留空;若需同时提取其他字段,再对应填写键值对即可。

为什么之前的写法无效

  • 直接填写$.detail.sale.items这类裸JSONPath时,EventBridge会默认提取单一值,但数组属于集合类型,不符合预期,因此会提示无效或无法触发规则。
  • $.detail.sale.items[0].quantity能成功,是因为它返回的是单个数值,属于单一值类型,匹配裸JSONPath的处理逻辑。

扩展:提取数组中的特定字段

如果需要提取数组内所有对象的某个字段(比如所有product),同样用模板语法实现:

{"products": <$.detail.sale.items[*].product>}

最终会生成包含所有product值的数组:["cheese", "tomato"]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 21:10:39