錯誤處理 - AWS Step Functions

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

錯誤處理

依預設,當狀態報告錯誤時,「Step Functions」會導致工作流程執行完全失敗。對於動作和某些流程狀態,您可以設定 Step Functions 如何處理錯誤。即使您已設定錯誤處理,某些錯誤仍可能導致工作流程執行失敗。如需詳細資訊,請參閱 Step Functions 中的錯誤處理。在工作流程 Studio 中,在Inspector面板的 [錯誤處理] 索引標籤中設定錯誤處理。


        錯誤處理選項

發生錯誤時重試

您可以將一或多個規則新增至動作狀態,並在發生錯誤時重試工作的平行流程狀態。這些規則稱為擷取器。若要新增擷取器,請在「擷取器 #1」方塊中選擇編輯圖示,然後設定其選項:

  • (選擇性) 在「註解」欄位中,新增您的註解。它不會影響工作流程,但可用於註釋您的工作流程。

  • 將游標置於「錯誤」欄位中,然後選擇會觸發擷取器的錯誤,或輸入自訂錯誤名稱。您可以選擇或新增多個錯誤。

  • (選擇性) 設定間隔。這是 Step Functions 進行第一次重試之前的時間(以秒為單位)。額外的重試次數將按照您可以使用最大嘗試次數詢率進行配置的間隔。

  • (選擇性) 設定最大嘗試次數。這是 Step Functions 數導致執行失敗之前的最大重試次數。

  • (選擇性) 設定輪詢率。這是由每次嘗試增加重試間隔的倍數來決定。

注意

並非所有的錯誤處理選項都適用於所有狀態。Lambda 叫用預設會設定一個擷取器。

捕捉錯誤

您可以將一或多個規則新增至動作狀態以平行及和Map流程狀態,以 catch 錯誤。這些規則稱為捕手。若要新增捕捉器,請選擇「新增捕手」,然後設定其選項:

  • (選擇性) 在「註解」欄位中,新增您的註解。它不會影響工作流程,但可用於註釋您的工作流程。

  • 將游標置於「錯誤」欄位中,然後選擇會觸發捕捉器的錯誤,或輸入自訂錯誤名稱。您可以選擇或新增多個錯誤。

  • 在「後援狀態」欄位中,選擇後援狀態。這是工作流程將移至下一個狀態,在發現錯誤之後。

  • (選擇性) 在ResultPath欄位中,新增ResultPath篩選器,以將錯誤新增至原始狀態輸入。必ResultPath須是有效的JsonPath。這將會傳送至後援狀態。

逾時

您可以設定動作狀態逾時,以設定狀態失敗前可執行的秒數上限。使用超時來防止卡住的執行。若要設定逾時,請輸入狀態在執行失敗之前應等待的秒數。如需逾時的詳細資訊,請參閱任務狀態TimeoutSeconds中。

HeartbeatSeconds

您可以設定工作傳送的活動訊號或定期通知。如果您設定活動訊號間隔,且您的狀態不會以設定的間隔傳送活動訊號通知,則工作會標記為失敗。若要設定活動訊號,請設定正、非零的整數秒數。如需詳細資訊,請參閱任務狀態HeartBeatSeconds中。