我有一个将数组作为输入的地图状态。我知道地图将遍历数组的元素。但是,我想要做的是将一次迭代的输出传递到下一次迭代的输入中。这是否可能不写入 DB 或 S3?我尝试了无数的 InputPath、OutputPath 和 ResultPath 组合,但是无论我做什么尝试将状态 1 的输入从状态 0 修改为从数组中读取,它似乎都无法修改输入数组从地图内。示例模板:
"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,
}
答案 0 :(得分:1)
另一种选择是像这样创建一个while循环:
这样您就可以访问上一次迭代的结果。 但是处理和合并迭代结果不会自动发生,您需要添加一个状态来为您完成。