狀態 - AWS Step Functions

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

狀態

個別狀態可以根據其輸入做出決策、從這些輸入執行動作,以及將輸出傳遞給其他狀態。在中AWS Step Functions,您可以使用亞馬遜州語言 (ASL) 定義工作流程。Step Functions 主控台提供狀態機器的圖形表示,以協助視覺化應用程式的邏輯。

注意

如果您在 Step Functions 的控制台之外定義狀態機器,例如在您選擇的編輯器中,則必須使用擴展名為. asl.json 來保存狀態機定義。

態是您的狀態機器中的元素。狀態會使用自身的名稱來稱呼,這可以是任何字串,但在整個狀態機器範圍內必須是唯一的。

狀態可以在您的狀態機器中執行各種功能:

  • 在您的狀態機器上執行一些作業 (Task 狀態)。

  • 在要執行的分支之間進行選擇 (Choice 狀態)

  • 故障或成功時停止執行 (FailSucceed 狀態)

  • 將其輸入傳遞至其輸出,或將某些固定資料插入工作流程 (「通過」狀態)

  • 提供一定時間的延遲,或直到指定的日期和時間(「等待」狀態)

  • 開始平行分支執行 (Parallel 狀態)

  • 動態反覆運算步驟 (Map 狀態)

以下是名為 HelloWorld 的範例狀態,其會執行 AWS Lambda 函數。

"HelloWorld": { "Type": "Task", "Resource": "arn:aws:lambda:us-east-1:123456789012:function:HelloFunction", "Next": "AfterHelloWorldState", "Comment": "Run the HelloWorld Lambda function" }

狀態有許多常見的功能:

  • 一個Type字段,指示它是什麼類型的狀態。

  • 一個可選Comment字段,用於保存有關狀態的人類可讀註釋或描述。

  • 每個狀態 (但 SucceedFail 狀態除外) 都需要有 Next 欄位,或也可以透過指定 End 欄位成為結束狀態。

    注意

    Choice 狀態可能會擁有多於一個 Next,但是每個「選擇規則」內只會有一個。狀Choice態無法使用End

某些狀態類型需要額外的欄位,或者可能會重新定義常見欄位的用法。

建立並執行標準工作流程之後,您可以檢視 Step Functions 主控台中的「執行詳細資訊」頁面,存取每個狀態、其輸入與輸出、作用中的時間以及持續時間的相關資訊。如需詳細資訊,請參閱在 Step Functions 主控台上檢視和偵錯執行

建立並執行快速工作流程執行後,如果已啟用快速工作流程的記錄功能,您可以在 Amazon Lo CloudWatch gs 或 Step Functions 主控台中存取有關執行的資訊。如需詳細資訊,請參閱 在 Step Functions 主控台上檢視和偵錯執行