【发布时间】:2021-02-12 03:24:52
【问题描述】:
从 AWS 文档中不清楚是否可以将动态并行性支持与步骤函数中的映射状态仅用于 lambda,或者它也可以映射到活动,作为嵌套工作流的一部分。有人用它来并行化不同的异步活动吗?
【问题讨论】:
从 AWS 文档中不清楚是否可以将动态并行性支持与步骤函数中的映射状态仅用于 lambda,或者它也可以映射到活动,作为嵌套工作流的一部分。有人用它来并行化不同的异步活动吗?
【问题讨论】:
您可以在 Map State 中使用以 Amazon 状态语言定义的任何 State,如果您想知道自己不限于单个 State,您可以在 Map State 的 Iterator 字段中定义完整的工作流程。可以把它想象成在你的 Map State 中定义一个新的状态机,这类似于一个 Parallel State,除了每个分支是相同的并且分支的数量基于你的数组。
{
"Comment": "An example of the Amazon States Language using a map state to process elements of an array with a max concurrency of 2.",
"StartAt": "HardcodedInputsState",
"States": {
"HardcodedInputsState": {
"Type": "Pass",
"Result": {
"array": [
"Iterate",
"Over",
"This",
"Array"
]
},
"Next": "Map"
},
"Map": {
"Type": "Map",
"ItemsPath": "$.array",
"ResultPath": "$.array",
"MaxConcurrency": 2,
"Next": "Final State",
"Parameters": {
"Value.$": "$$.Map.Item.Value",
"Index.$": "$$.Map.Item.Index"
},
"Iterator": {
"StartAt": "You",
"States": {
"You": {
"Type": "Pass",
"Next": "Can"
},
"Can": {
"Type": "Pass",
"Next": "Do"
},
"Do": {
"Type": "Pass",
"Next": "Anything"
},
"Anything": {
"Type": "Pass",
"End": true
}
}
}
},
"Final State": {
"Type": "Pass",
"End": true
}
}
}
【讨论】: