探索要在 Step Functions 中使用的工作流程狀態 - AWS Step Functions

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

探索要在 Step Functions 中使用的工作流程狀態

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

狀態會從調用或先前狀態取得輸入。狀態可以篩選輸入,然後操作傳送至下一個狀態的輸出。

以下是名為 的範例狀態HelloWorld,可叫用 AWS Lambda 函數。

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

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

下列螢幕擷取畫面顯示工作流程工作室中一些最熱門的動作和七個流程狀態:

顯示 Workflow Studio 中常用動作和流程狀態的說明性螢幕擷取畫面

狀態有許多常見的功能:

  • 指示其狀態類型的Type欄位。

  • 保留狀態相關人類可讀取註解或描述的選用Comment欄位。

  • 每個狀態 (除了 SucceedFail 狀態) 都需要一個Next欄位,指定工作流程中的下一個狀態。Choice狀態實際上在每個選擇規則Next中可以有多個。或者,狀態可以透過將 End 欄位設定為 true 來成為終端機狀態。

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

存取工作流程的日誌資訊

  • 建立並執行標準工作流程之後,您可以透過檢視 Step Functions 主控台中的執行詳細資訊頁面,來存取每個狀態、其輸入和輸出、何時處於作用中以及持續多久的相關資訊。

  • 建立 和 Express Workflow 執行之後,如果啟用記錄,您可以在 Step Functions 主控台或 Amazon CloudWatch Logs 中查看執行歷史記錄。

如需有關檢視和偵錯執行的資訊,請參閱 檢視工作流執行使用 CloudWatch 日誌記錄 Step Functions 中的執行歷史記錄

工作流程狀態的參考清單

狀態在 Workflow Studio 中分為動作 ,也稱為任務狀態 和七個流程狀態 。使用任務狀態 或 Workflow Studio 中的動作,您可以呼叫第三方服務、叫用函數,並使用數百個 AWS 服務端點。透過流程狀態 ,您可以指示和控制工作流程。所有狀態都會從先前的狀態取得輸入,而且許多狀態都會提供輸入篩選,並針對傳送至工作流程中下一個狀態的輸出進行篩選/轉換。