为何我的AWS Step Functions停止执行而未走Catch #1分支?


AWS Step Functions未触发Catch分支直接停止的排查方向
- 错误类型不匹配:Catch分支配置的
ErrorEquals错误类型和实际抛出的错误不匹配。比如你指定了特定错误码,但实际错误不在匹配列表里,就不会触发Catch。去执行日志里查具体错误类型,确认是否在Catch的匹配范围内。 - 错误格式不符合要求:任务(如Lambda)返回的失败结果没有遵循Step Functions的错误格式(缺少
Error或Cause字段),导致状态机无法识别为可捕获的错误,直接终止。 - Catch分支配置错误:检查Catch块的
Next目标状态是否存在、拼写正确。如果有多个Catch分支,排在前面的分支若匹配了错误,会拦截后续Catch,确认你的Catch #1是否是对应错误的第一个匹配项。 - 权限不足:Catch分支要调用的后续资源(如另一个Lambda、SNS)没有给状态机的IAM角色授权,导致状态机无法执行Catch分支,直接停止。
- 重试机制未耗尽:如果任务配置了Retry,只有重试次数用完后才会触发Catch。检查重试的错误类型是否匹配,或者是否还在重试周期内。
内容的提问来源于stack exchange,提问作者antpaw
相关产品推荐
相关产品推荐

