AWS EventBridge InputTransformer处理动态长度数组的InputPath配置方法
AWS EventBridge InputTransformer 处理任意长度Telephone数组的配置方案
EventBridge InputTransformer 原生不支持在单个事件内动态遍历生成多组字段值,根据使用场景可以选择以下两种实现方式:
场景1:无需拆分事件,完整传递整个数组到下游目标
直接在InputTransformer中引用整个Telephone数组的路径即可,无需指定下标,配置如下:
Input Path 配置
{ "telephoneList": "$.detail.payload.TelephoneDetails.Telephone" }
Input Template 示例
{ "TelephoneDetails": <telephoneList> }
该配置会把完整的Telephone数组传递到下游,数组长度不受限制,可直接在下游服务中自行遍历处理数组元素。
场景2:需要将每个数组元素拆分为独立事件分别处理
搭配EventBridge的数组拆分功能即可实现,操作步骤如下:
- 先在Input Path中将根路径指向Telephone数组:
{ "$": "$.detail.payload.TelephoneDetails.Telephone" }
- 在目标的额外设置中找到「拆分数组为多条记录」选项,勾选启用
- 调整InputTransformer配置,直接引用单条元素的字段即可,无需带下标:
{ "Type": "$.Type", "Number": "$.Number", "Primary": "$.Primary", "TextEnabled": "$.TextEnabled" }
该配置下EventBridge会自动将长度为N的Telephone数组拆分为N个独立事件,每个事件对应一条电话信息,分别触发下游目标。
注意事项
- 数组拆分功能单事件最多支持拆分100个数组元素,若数组长度可能超过100,需额外添加分批处理逻辑
- 若目标服务本身支持数组处理,优先选择场景1的方案,配置更简单也没有长度限制
内容的提问来源于stack exchange,提问作者Anitha
相关产品推荐
相关产品推荐

