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

AWS Step Functions Map状态迭代时如何同时传递公共参数和数组元素

解决方案

你只需要在原有Map状态配置的基础上增加ItemSelector配置项即可实现需求,修改后的完整状态机结构如下:

{
  "StartAt": "Map",
  "States": {
    "Map": {
      "Type": "Map",
      "End": true,
      "Iterator": {
        "StartAt": "Pass",
        "States": {
          "Pass": {
            "Type": "Pass",
            "End": true
          }
        }
      },
      "ItemsPath": "$.my_array",
      "ItemSelector": {
        "keep.$": "$.keep",
        "element.$": "$$.Map.Item.Value"
      }
    }
  }
}

配置说明

ItemSelector是Map状态提供的自定义迭代输入结构的配置项:

  • keep.$: "$.keep":直接从状态机的根输入中提取keep字段的值,原样传递给每次迭代
  • element.$: "$$.Map.Item.Value":通过Step Functions内置的上下文对象获取当前遍历到的my_array数组元素,赋值给element字段

可视化视图操作步骤

习惯用可视化工作流视图的话可以按以下步骤操作:

  1. 选中Map状态组件,打开右侧配置面板
  2. 找到「项目选择器(Item selector)」配置区域,勾选启用自定义项目选择器
  3. 输入下方配置内容即可:
{
  "keep.$": "$.keep",
  "element.$": "$$.Map.Item.Value"
}

配置完成后重新测试,每次迭代的内部状态收到的输入就会完全符合要求的格式。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 18:00:05