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

如何提取EventBridge Pipes传入Step Functions的数组包裹输入内容

解决Step Functions提取数组内输入内容的方法

方法1:在Pass状态中通过数组索引提取

Step Functions支持JSON Path语法定位数据,你的输入是单元素数组,直接用$[0]即可获取数组第一个元素。修改Pass状态的InputPath或ResultPath实现提取:

示例Pass状态配置

{
  "Type": "Pass",
  "InputPath": "$[0]",
  "ResultPath": "$",
  "Next": "YourNextState"
}
  • InputPath": "$[0]":指定只取输入数组的第一个元素作为当前状态的输入
  • ResultPath": "$":将提取后的结果覆盖原输入,传递给下一个状态

方法2:在状态机全局统一处理输入

如果希望整个状态机都使用数组内的内容,可在状态机顶层配置InputPath,一次性完成转换:

{
  "Comment": "Your State Machine",
  "StartAt": "FirstState",
  "InputPath": "$[0]",
  "States": {
    // 你的状态定义
  }
}

这样所有状态都会直接使用提取后的对象,无需在每个状态单独配置。

验证方式

在Step Functions控制台用测试功能验证:输入被包裹的数组,查看处理后的输出是否为预期的对象结构。

测试输入示例:

[{
  "meta-data": {
    "id": "123"
  },
  "body": {
    "first": "1",
    "second": "2"
  }
}]

经过$[0]处理后,输出结果:

{
  "meta-data": {
    "id": "123"
  },
  "body": {
    "first": "1",
    "second": "2"
  }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 04:52:39