我有一个采用数组作为输入的映射状态。我知道映射将遍历数组的元素。但是,我想做的是将一次迭代的输出传递到下一次的输入中。是否无需写入DB或S3就能实现吗?我已经尝试了InputPath,OutputPath和ResultPath的无尽组合,但是无论我如何尝试从状态0修改状态1的输入,它都只是从数组中读取数据,看来我无法修改输入数组从地图内。示例模板:
"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,
}
另一个选择是创建一个while循环,如下所示:
这样,您就可以访问上一个迭代的结果。但是,处理和合并迭代结果并不是自动进行的,因此您需要添加一个状态才能为您完成。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句