首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >AWS步骤函数映射状态:将当前迭代的输出作为输入传递给下一次迭代

AWS步骤函数映射状态:将当前迭代的输出作为输入传递给下一次迭代
EN

Stack Overflow用户
提问于 2021-02-24 18:00:21
回答 1查看 627关注 0票数 2

我有一个以数组作为输入的map状态。我知道map将遍历数组的元素。但是,我想要做的是将一个迭代的输出传递给下一个迭代的输入。在不写入DB或S3的情况下,这是可能的吗?我已经尝试了InputPath、OutputPath和ResultPath的无限组合,但是无论我如何尝试从状态0修改状态1的输入,它都只是从数组中读取,而且似乎不能从映射中修改输入数组。示例模板:

代码语言:javascript
运行
复制
"Map":{
  "Type": "Map",
  "ItemsPath": "$.stages",
  "Parameters": {
    "stage.$": "$$.Map.Item",
  },
  "Iterator": {
    "StartAt": "StartStage",
    "States": {
      "StartStage":{
        "Type": "Task",
        "Resource":"arn:aws:states:::lambda:invoke.waitForTaskToken",
        "Parameters":{
          "FunctionName":"...",
          "Payload":{
            "myArgs.$": "$.stage.Value",
          }
        },
        "End": true
      }
    }
  },
  "MaxConcurrency": 1,
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-25 09:06:33

另一种选择是创建一个while循环,如下所示:

  1. 设置一个变量来跟踪您的索引(pos = 0)
  2. 要迭代的所有状态
  3. 增加索引( pos++)
  4. 一个选择状态:如果你的索引小于你的项目数,就去step1。

这样,您就可以访问上一次迭代的结果。但是处理和合并迭代的结果并不是自动发生的,您需要添加一个状态来为您做这件事。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66348568

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档