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

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

错误处理

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


        错误处理选项

出错时重试

您可以将一个或多个规则添加到操作状态,Parallel流状态,以便在发生错误时重试任务。这些规则称为猎犬。要添加检索器,请选择添加新的检索器,然后配置其选项:

  • (可选)注释字段可用于添加您自己的评论。它不会影响工作流,但可用于注释您的工作流。

  • 请选择错误,将触发检索器,或输入您自己的自定义错误名称。

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

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

  • (可选)设置退避率。这是一个乘数,用于确定每次尝试会增加多少重试间隔。

捕获错误

您可以将一个或多个规则添加到操作状态和ParallelMap流状态来捕获错误。这些规则称为捕手。要添加捕获器,请选择Add 新的捕获器,然后配置其选项:

  • (可选)注释字段可用于添加您自己的评论。它不会影响工作流,但可用于注释您的工作流。

  • 请选择错误来触发捕捉器,或输入您自己的自定义错误名称。

  • 请选择回退状态。这是在捕获错误后,工作流将移动到下一个状态。

  • (可选)添加ResultPath将错误添加到原始状态输入中。这些区域有:ResultPath必须使用有效的 JSON 路径语法。这将被发送到回退状态。

Timeouts

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

Heartbeat

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

注意

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