错误处理 - Amazon Step Functions
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

错误处理

默认情况下,当某个状态报告错误时,Step Functions 会导致工作流执行完全失败。对于操作和某些流状态,您可以配置 Step Functions 处理错误的方式。即使您配置了错误处理,某些错误仍可能导致工作流执行失败。有关更多信息,请参阅Step Functions 中的错误处理。在 Workflow Studio 中,在 Inspector 面板的错误处理选项卡中配置错误处理。


        错误处理选项

出错时重试

您可以向操作状态和 Parallel 流状态添加一条或多条规则,以便在发生错误时重试任务。这些规则被称为重试器。要添加重试器,请选择重试器 #1 框中的编辑图标,然后配置其选项:

  • (可选)在注释字段中,添加您的注释。它不会影响工作流,但可以用来为您的工作流添加注释。

  • 将光标置于错误字段中,选择将触发重试器的错误,或者输入自定义错误名称。您可以选择或添加多个错误。

  • (可选)设置间隔。这是 Step Functions 首次重试之前的时间(以秒为单位)。随后将按间隔进行其他重试,您可以根据最大尝试次数回退率进行配置。

  • (可选)设置最大尝试次数。这是 Step Functions 导致执行失败之前的最大重试次数。

  • (可选)设置回退率。这是一个乘数,它决定每次尝试的重试间隔将增加多少。

注意

并非所有错误处理选项都适用于所有状态。默认情况下,Lambda 调用会配置了一个重试器。

捕获错误

您可以向操作状态以及 ParallelMap 流状态添加一条或多条规则以捕获错误。这些规则被称为捕获器。要添加捕获器,请选择添加捕获器手,然后配置其选项:

  • (可选)在注释字段中,添加您的注释。它不会影响工作流,但可以用来为您的工作流添加注释。

  • 将光标置于错误字段中,选择将触发捕获器的错误,或者输入自定义错误名称。您可以选择或添加多个错误。

  • 回退状态字段中,选择一种回退状态。这是捕获到错误后,工作流将移至的下一个状态。

  • (可选)在该ResultPath字段中,添加ResultPath过滤器以将错误添加到原始状态输入中。ResultPath必须是有效的JsonPath。这将被发送到回退状态。

超时

您可以为操作状态配置一个超时,用于设置状态在失败之前可以运行的最大秒数。使用超时可避免执行卡顿。要配置超时,请输入状态在执行失败之前应等待的秒数。有关超时的更多信息,请参阅 Task 状态中的 TimeoutSeconds

HeartbeatSeconds

您可以配置任务发送的检测信号或定期通知。如果设置了检测信号间隔,并且状态未在配置的时间间隔内发送检测信号通知,则该任务将被标记为失败。要配置检测信号,请设置一个秒数,该值需为非零正整数。有关更多信息,请参阅 Task 状态中的 HeartBeatSeconds