本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
管理狀態和轉換資料
Fail
狀態 ("Type": "Fail"
) 會停止執行狀態機器,並將其標記為失敗,除非被Catch
區塊攔截。
Fail
狀態僅允許使用 Type
和 來自一組常見狀態Comment
欄位的欄位。 工作流程中的常見狀態欄位此外,Fail
狀態允許使用下列欄位。
-
Cause
(選用) -
描述錯誤原因的自訂字串。您可以為操作或診斷目的指定此欄位。
在 JSONata 狀態中,您也可以指定 JSONata 表達式。
-
CausePath
(選用,僅限 JSONPath) -
如果您想要使用參考路徑從狀態輸入動態提供錯誤原因的詳細說明,請使用
CausePath
。解決時,參考路徑必須選取包含字串值的欄位。您也可以
CausePath
使用內部函數來指定 ,以傳回字串。這些內部是: States.Format、、States.JsonToStringStates.ArrayGetItem、States.Base64Decode、 States.Hash States.Base64Encode和 States.UUID。重要
-
您可以在失敗狀態定義中指定
Cause
或CausePath
,但不能同時指定兩者。 -
作為資訊安全最佳實務,我們建議您從原因描述中移除任何敏感資訊或內部系統詳細資訊。
-
-
Error
(選用) -
您可以使用重試或擷取欄位提供錯誤名稱來執行錯誤處理。您也可以提供操作或診斷用途的錯誤名稱。
在 JSONata 狀態中,您也可以指定 JSONata 表達式。
-
ErrorPath
(選用,僅限 JSONPath) -
如果您想要使用參考路徑從狀態輸入動態提供錯誤的名稱,請使用
ErrorPath
。解決時,參考路徑必須選取包含字串值的欄位。您也可以
ErrorPath
使用內部函數來指定 ,以傳回字串。這些內部是: States.Format、、States.JsonToStringStates.ArrayGetItem、States.Base64Decode、 States.Hash States.Base64Encode和 States.UUID。重要
-
您可以在失敗狀態定義中指定
Error
或ErrorPath
,但不能同時指定兩者。 -
作為資訊安全最佳實務,我們建議您從錯誤名稱中移除任何敏感資訊或內部系統詳細資訊。
-
由於 Fail
狀態一律會結束狀態機器,因此沒有 Next
欄位,也不需要 End
欄位。
失敗狀態定義範例
下列失敗狀態定義範例會指定靜態Error
和Cause
欄位值。
"FailState": {
"Type": "Fail",
"Cause": "Invalid response.",
"Error": "ErrorA"
}
下列失敗狀態定義範例會動態使用參考路徑來解析 Error
和 Cause
欄位值。
"FailState": {
"Type": "Fail",
"CausePath": "$.Cause",
"ErrorPath": "$.Error"
}
下列失敗狀態定義範例使用 States.Format 內部函數動態指定 Error
和 Cause
欄位值。
"FailState": {
"Type": "Fail",
"CausePath": "States.Format('This is a custom error message for {}, caused by {}.', $.Error, $.Cause)",
"ErrorPath": "States.Format('{}', $.Error)"
}