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

AWS Step Functions Map状态:如何引用迭代器外部值

解决AWS Step Functions Map状态引用外部值的问题

要在Map状态的迭代器里访问外部值,你需要通过路径引用区分当前迭代项和外部输入数据,具体配置如下:

正确的Parameters配置

修改你的parameters字段,用$前缀引用Map外部的根级输入数据,用$$.Map.Item引用当前迭代的数组项:

const forkDeliveryStream = new sfn.Map(this, 'ForkDeliveryStream', {
  maxConcurrency: 3, // 受众增长后可考虑调高
  itemsPath: '$.audience.L',
  parameters: {
    // 引用当前Map迭代的数组元素
    Audience: '$$.Map.Item.S',
    // 引用Map状态外部的输入值(比如根级的Notification字段)
    Notification: '$.Notification',
    // 如果需要引用系统级执行属性(比如执行ARN),才用$$前缀的系统变量
    // ExecutionArn: '$$.Execution.Id'
  },
});
forkDeliveryStream.iterator(new DeliveryStream(this, 'DeliveryStream'));

关键说明

  • $前缀路径:指向整个Step Function的原始输入数据,也就是Map状态之外的全局输入,比如$.Notification就是取输入根节点下的Notification字段值。
  • $$前缀系统变量:$$.Map.Item代表当前Map迭代到的数组元素,配合你的itemsPath: '$.audience.L',就能拿到数组里的每一项。
  • 配置后,每个迭代器(DeliveryStream状态)的输入会同时包含当前迭代的Audience和外部的Notification值,满足你的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 12:59:56