本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
错误处理
默认情况下,当状态报告错误时,Step Functions 会导致执行完全失败。对于操作和某些流程状态,您可以配置 Step Functions 处理错误的方式。即使您配置了错误处理,某些错误仍可能导致执行失败。有关更多信息,请参阅 Step Functions 中的错误处理。在 Workflow Studio 中,在错误处理面板中配置错误处理。

出现错误时重试
您可以在操作状态和Parallel
流程状态中添加一条或多条规则,以便在发生错误时重试任务。这些规则被称为猎犬。要添加检索器,请选择 “添加新检索器”,然后配置其选项:
-
(可选)“评论” 字段可用于添加您自己的评论。它不会影响工作流程,但可用于为您的工作流程添加注释。
-
选择将触发重试器的错误,或输入您自己的自定义错误名称。
-
(可选)设置间隔。这是 Step Functions 首次重试之前的时间(以秒为单位)。随后将按间隔进行更多重试,您可以使用最大尝试次数和退避率进行配置。
-
(可选)设置最大尝试次数。这是在 Step Functions 导致执行失败之前的最大重试次数。
-
(可选)设置退避率。这是一个乘数,它决定了每次尝试的重试间隔将增加多少。
捕获错误
您可以向操作状态和Parallel
和Map
流程状态添加一条或多条规则以catch 错误。这些规则被称为捕手。要添加捕手,请选择 “添加新捕手”,然后配置其选项:
-
(可选)“评论” 字段可用于添加您自己的评论。它不会影响工作流程,但可用于为您的工作流程添加注释。
-
选择一个会触发捕手的错误,或者输入你自己的自定义错误名称。
-
选择回退状态。这是工作流程在发现错误后将移至下一步的状态。
-
(可选)添加 a
ResultPath
以将错误添加到原始状态输入中。ResultPath必须采用有效的 jsonPath 语法。这将被发送到备用状态。
超时
您可以为操作状态配置超时时间,以设置您的状态在失败之前可以运行的最大秒数。使用超时来防止执行卡顿。要配置超时,请输入您的状态在执行失败之前应等待的秒数。有关更多信息,请参阅 任务 部分中的 TimeoutSeconds
。
检测信号
您可以配置任务发送的心跳或定期通知。如果您设置了心跳间隔,但您的状态未在配置的时间间隔内发送心跳通知,则该任务将被标记为失败。要配置心跳,请设置一个正的非零整数秒数。有关更多信息,请参阅 任务 部分中的 HeartBeatSeconds
。
并非所有错误处理选项都适用于所有州。Lambda Invoke 默认配置了一个重试器。