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

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

错误处理

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


        错误处理选项

出现错误时重试

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

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

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

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

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

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

捕获错误

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

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

  • 选择一个会触发捕手的错误,或者输入你自己的自定义错误名称。

  • 选择回退状态。这是工作流程在发现错误后将移至下一步的状态。

  • (可选)添加 aResultPath 以将错误添加到原始状态输入中。ResultPath必须采用有效的 jsonPath 语法。这将被发送到备用状态。

超时

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

检测信号

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

注意

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