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

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

错误处理

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


        错误处理选项

错误时重试

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

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

  • 选择错误这将触发重试器,或者输入自己的自定义错误名称。

  • (可选)设置Interval. 这是 Step Functions 首次重试之前的时间(以秒为单位)。将按照您可以配置的间隔进行额外的重试最大尝试退避率.

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

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

捕获错误

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

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

  • 选择错误这将触发捕手,或者输入自己的自定义错误名称。

  • 选择回退状态. 这是发现错误后,工作流将移动到下一个状态。

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

超时

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

检测信号

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

注意

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