我正在运行一个具有映射状态的状态机,并且该映射迭代触发其他状态机的任务类型的项目。现在,当子状态机失败时,即使我为任何类型的错误配置了通配符(States.ALL),父状态机也不会捕获错误。我究竟做错了什么?如何从子状态机捕获错误?
{
"StartAt": "Child",
"States": {
"Child": {
"Type": "Map",
"MaxConcurrency": 15,
"ItemsPath": "$.child_items",
"Iterator": {
"StartAt": "Execute child state machine",
"States": {
"Execute forecast state machine": {
"Type": "Task",
"Resource": "arn:aws:states:::states:startExecution.sync:2",
"Parameters": {
"StateMachineArn": "${ChildStateMachineArn}",
"Input": {
"epoch.$": "$.epoch",
"execution_date.$": "$.execution_date"
}
},
"End": true
}
}
},
"Catch": [
{
"ErrorEquals": [
"States.ALL"
],
"Next": "Failure"
}
],
"Next": "Next Module",
"ResultPath": null
},
"Next Module": {
"Type": "Map",
"MaxConcurrency": 10,
"ItemsPath": "$.next_module",
"Iterator": {
.
.
.
},
"Next": "Success",
"ResultPath": null
}
.
.
.
.
.
.
}
}