You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何我的Step Function并行分支未进入错误处理任务?

解决并行分支错误无法流转至错误上报任务的方案

针对你遇到的问题,核心是并行状态的错误处理逻辑需要针对性配置,以下是具体操作步骤:

1. 为每个并行分支内的任务添加独立Catch配置

不要仅在顶层状态添加STATES.ALL捕获,需要给并行分支里的每个可能失败的任务单独配置Catch,直接指向"Report Error"任务。示例配置片段:

"ParallelBranch1": {
  "Type": "Task",
  "Resource": "arn:aws:lambda:xxx",
  "Catch": [
    {
      "ErrorEquals": ["States.ALL"],
      "Next": "Report Error"
    }
  ]
}

这样分支内任务失败时会直接跳转至错误上报,不会停留在分支中。

2. 配置并行状态的错误捕获与分支终止策略

如果希望任意分支失败后立刻终止其他所有分支并触发错误上报,需要在并行状态本身添加Catch,同时开启BranchCompleteOnFailure参数:

"ParallelState": {
  "Type": "Parallel",
  "BranchCompleteOnFailure": true,
  "Branches": [/* 你的分支配置 */],
  "Catch": [
    {
      "ErrorEquals": ["States.ALL"],
      "Next": "Report Error"
    }
  ]
}

这个配置会让并行状态在检测到任意分支失败时,立即终止未完成的分支,然后触发自身的Catch逻辑跳转到错误上报任务。

3. 排查任务的重试与错误冒泡设置

  • 检查分支内任务是否配置了Retry,如果重试次数未耗尽,错误不会被抛出,也就无法触发Catch。根据需求调整重试策略,或者在重试失败后确保错误能冒泡到上层。
  • 确认分支内的任务没有配置了Catch但跳转目标不是"Report Error",这种情况会导致错误被分支内部消化,无法流转到最终的错误上报任务。

内容的提问来源于stack exchange,提问作者Lloukas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 04:35:28