在创建 Step Functions 时设置 maxConcurrency 参数来避免并发执行限制。
示例代码:
{
"StartAt": "MyStep",
"States": {
"MyStep": {
"Type": "Task",
"Resource": "arn:aws:lambda:us-east-1:123456789012:function:my-function",
"Next": "NextStep",
"Catch": [
{
"ErrorEquals": [
"States.ALL"
],
"Next": "HandleError"
}
],
"MaxConcurrency": 5
},
"NextStep": {
"Type": "Pass",
"End": true
},
"HandleError": {
"Type": "Fail",
"Error": "StepFunctionError",
"Cause": "TooManyConcurrentExecutions"
}
}
}
在上面的示例中,Step Functions 最多同时执行 5 个任务。如果超过此限制,工作流将在“HandleError”状态结束并带有错误消息“TooManyConcurrentExecutions”。请注意,“MaxConcurrency”参数仅适用于 Task 状态类型。