AWS Step Functions 入門
什麼是 AWS Step Functions?
AWS Step Functions 可讓您在幾分鐘內將彈性工作流程自動化新增到應用程式,而無需撰寫程式碼。使用 Step Functions 建構的工作流程包含內建錯誤處理、參數傳送、建議的安全性設定和狀態管理,有助於減少您需要編寫和維護的程式碼數量。
AWS Step Functions 是一項全受管服務,可讓您使用視覺化的工作流程,輕鬆地協調分散式應用程式與微型服務的元件。微型服務是透過網路相互通訊以完成更大目標的程序。作為微型服務集合建置的應用程式更具彈性且更易於擴展。可以使用 AWS Lambda 函數部署一個非常簡單的微型服務。
許多應用程式需要不止一種功能,通常具有兩種或三種功能的組合和模式。例如,您可能希望平行執行兩個函數,並將組合結果提供給第三個函數。您可以編寫大量程式碼來協調微型服務的互動,或者使用 AWS Step Functions 來協調您的工作流程。
如何開始使用 AWS Step Functions?
使用 Step Functions 很容易上手。您可以使用 Workflow Studio 快速開始建置,這是一個簡單的拖放式介面,用於呈現您的工作流程。使用 Step Functions,您能夠以狀態機器的形式定義工作流程,並指定要依順序或平行執行的任務,並視需合併分支邏輯。Step Functions 管理每次執行,透過中央稽核追蹤來追蹤每個步驟,並使用內建的 try-catch-finally 處理模式來管理任務逾時、重試和錯誤。
準備好開始使用了嗎?
遵循 Step Functions 自我引導研討會,瀏覽互動式模組,以進一步了解有關 Step Functions 函數的資訊。
嘗試入門教學系列來建立處理信用卡申請的基本工作流程。了解如何在 Step Functions 中使用常用狀態,例如映射、選擇、平行和任務等狀態。您會將您的工作流程與其他 AWS 服務整合,例如 AWS Lambda 和 Amazon Simple Notification Service。
瀏覽無伺服器工作流程集合。檢視工作流程模式集合,以使用 AWS SAM 和 CDK 範本快速建置應用程式。依使用案例篩選並將範本或工作流程定義直接複製到您的應用程式。
無伺服器工作流程的核心概念
在使用 Step Functions 時,您可能會遇到哪些無伺服器工作流程的核心概念?
下面我們將回顧一些最重要的概念及其定義,例如:通過狀態、平行狀態、選擇狀態、狀態轉換、元件可重用性和分支邏輯。
了解主要概念後,您就可以建立您的第一個 Step Functions 狀態機器。
AWS Step Functions 可讓您將個別工作協調為視覺化的工作流程,協助您迅速建立和更新應用程式。
![](https://d1.awsstatic.com/product-marketing/Step%20Functions/sfn_core_concepts_01.a6ef9737ddd5f87fa4916b579c5f9c9024ef5cb9.png)
您使用 Step Functions 建立的工作流程稱為狀態機器,而您工作流程的每一個步驟稱為狀態。
![](https://d1.awsstatic.com/product-marketing/Step%20Functions/sfn_core_concepts_02.4a5de051dc20fa9e38933af585423f752f867108.png)
任務透過協調另一項 AWS 服務或幾乎可以在任何地方託管的應用程式,來執行工作。
![](https://d1.awsstatic.com/product-marketing/Step%20Functions/sfn_core_concepts_03.70298b54029f71cedff75efb432715faec514867.png)
傳輸狀態將輸入當成輸出傳遞至下一個狀態。 您也可以使用等待狀態在有需要時延遲執行。
![](https://d1.awsstatic.com/product-marketing/Step%20Functions/sfn_core_concepts_04.d7fdc1564e59852b522e62c061373dddb5207c5e.png)
平行狀態同時開始多項分支執行,例如一次執行多個 Lambda 函數。
![](https://d1.awsstatic.com/product-marketing/Step%20Functions/sfn_core_concepts_05.e27f04d2eff1ef75eca4765eec8c3791a5eb3c10.png)
選擇狀態可新增分支邏輯至您的狀態機器,並且根據輸入做出決策。
![](https://d1.awsstatic.com/product-marketing/Step%20Functions/sfn_core_concepts_06.d2e62f55c1b92fe5cd3a42802d75c9336bc39280.png)
當您執行狀態機器時,從一個狀態移動到下一個狀態就稱為狀態轉換。
![](https://d1.awsstatic.com/product-marketing/Step%20Functions/sfn_core_concepts_07.6daaafb080576a2a4be4ab86c4a9522f3f4907a5.png)
您可以重複使用元件,輕鬆編輯步驟的順序,或隨著需求變更而切換任務狀態呼叫的程式碼。
![](https://d1.awsstatic.com/product-marketing/Step%20Functions/sfn_core_concepts_08.134ff7618698441a7a2f5cbd02a2c4e721e1b63a.png)
就這麼簡單! 您現在已經熟悉 Step Functions. 的核心概念。何不建立您的第一個狀態機器?
![](https://d1.awsstatic.com/product-marketing/Step%20Functions/sfn_core_concepts_01.a6ef9737ddd5f87fa4916b579c5f9c9024ef5cb9.png)
10 分鐘教學
為協助您入門,我們提供了專為初學者設計的 10 分鐘 AWS Step Functions 教學。了解如何建立無伺服器工作流程、處理無伺服器應用程式中的錯誤,以及安排無伺服器工作流程。
Step Functions 入門教學將教授如何使用 AWS Step Functions 來設計和執行可協調多個 AWS Lambda 函數的無伺服器工作流程;如何使用 AWS Step Functions 透過內建重試和擷取功能來處理工作流程運行時間錯誤;以及如何協同運作無伺服器工作流程以回應依排程觸發的事件。
10 分鐘
了解如何使用 AWS Step Functions 設計和執行協調多個 AWS Lambda 函數的無伺服器工作流程
IAM、Lambda、Step Functions
10 分鐘
使用 AWS Step Functions 內建的重試和 Catch 功能來處理 AWS Lambda 執行時間不同邏輯的錯誤情形 (視引發例外狀況而定)。
IAM、Lambda、Step Functions
探索更多 AWS Step Functions 資源