AWS Step Functions 功能


AWS Step Functions 針對現代應用程式提供無伺服器協同運作。協同運作透過將工作流程分為多個步驟、新增流程邏輯,並追蹤步驟之間的輸入與輸出來集中管理工作流程。

當應用程式執行時,Step Functions 會維護應用程式狀態,確切追蹤應用程式所在的工作流程步驟,並針對在應用程式元件之間傳遞的資料儲存事件日誌。這代表如網路故障或元件停滯,應用程式可從中斷處繼續執行。

利用 Step Functions 可讓應用程式開發更快速且更直觀,因為您可獨立於其業務邏輯來定義並管理應用程式的工作流程。對其中一個進行變更不會影響另一個。

您可在單一地方輕鬆更新及修改工作流程,而無需因管理、監控及維護多個點對點整合而煩惱。 您還可直接透過工作流程,輕鬆地與幾乎任何 SaaS 應用程式整合。 

Step Functions 可讓函數與容器免除過多程式碼,讓應用程式可更快寫入、更具彈性並更易維護。

Step Functions 的功能是什麼?

視覺化且易於運用的工作流程組態

您可運用 AWS Step Functions 來定義工作流程為狀態機器,將複雜的程式碼轉換為易於了解的陳述式與圖表。以更快速輕鬆的方式組建應用程式,並確認其正在實作您所需的功能。進一步閱讀有關 Step Functions 運作方式的資訊。

適用分散式應用程式的內建錯誤處理、逾時及平行處理流程

AWS Step Functions 為您的工作流程提供現成步驟,稱為狀態,為您實作基本服務原始功能,這代表您可從應用程式移除該邏輯。狀態可傳遞資料至其他狀態與微服務、處理例外狀況、新增逾時、做出決策、平行執行多個路等徑等。進一步了解關於狀態的資訊。

增強的變數和承載管理

AWS Step Functions 提供增強的變數和承載管理功能,以加速應用程式開發。這讓開發人員能夠使用變數,更輕鬆地在 Step Functions 工作流程中存放和參考承載資料。您可在工作流程的任何狀態下指派和參考資料,而無需傳遞中間狀態,從而簡化跨工作流程狀態的承載管理。開發人員可利用 JSONata 的內建資料轉換功能,減少對自訂程式碼的需求,從而改善生產力。JSONata 新增全面的資料轉換功能,例如,日期/時間格式化和數學運算,並允許您直接在工作流程中執行資料操作。您還可在同時在新的工作流程和現有工作流程中,以工作流程或個別狀態層級逐漸採用變數和 JSONata,同時現有工作流程可保持全功能,而不需要做出任何變更。這些功能讓開發人員能夠以較少的狀態,建立更複雜且有高效的工作流程,從而進一步降低整體成本。

直接整合 220 個 AWS 服務與超過 10,000 個 API

您可利用 AWS Step Functions 服務整合來設定 Step Functions 工作流程,並呼叫超過 220 個 AWS 服務。這包括:

  • 運算服務 (AWS Lambda、Amazon ECS、Amazon EKS、AWS Fargate)
  • 資料庫服務 (Amazon DynamoDB)
  • 訊息服務 (Amazon SNS 與 Amazon SQS)、資料處理
  • 分析服務 (Amazon Athena、AWS Batch、AWS Glue、Amazon EMR、AWS Glue DataBrew)
  • 生成式 AI 與機器學習服務 (Amazon SageMaker、Amazon Bedrock)
  • Amazon API Gateway 建立的 API

 進一步了解有關服務整合的資訊。

直接透過工作流程與幾乎任何 SaaS 應用程式整合

AWS Step Functions HTTPS 端點整合可讓您直接將以 HTTP 為基礎的服務整合至工作流程。您可在單一位置,建置、管理和協調由 AWS 服務和 SaaS 應用程式組成的多步驟工作流程。透過 HTTPS 端點整合,您可以輕鬆地協調應用程式的各種元件、管理身分驗證、測試整合以及處理錯誤,而無需編寫自訂程式碼或維護其他基礎設施。HTTPS 端點整合可改善開發人員的敏捷性,並讓您能夠輕鬆地延伸 SaaS 應用程式的功能,以支援您的業務。

協調分散式元件

AWS Step Functions 可協調任何可建立 HTTPS 連線的應用程式,無論其在何處託管,例如在 Amazon EC2 執行個體、行動裝置或內部部署伺服器。您可利用 Step Functions 來快速建立分散式應用程式,並利用 AWS 服務以及您自己的微服務。進一步了解活動任務

元件重複使用性可讓您以強大且高效的方式開發應用程式

AWS Step Functions 可協調現有 Lambda 函數與微服務到強大的應用程式,並可讓您將其快速重寫為新作品。可在任何地方執行工作流程的任務,包括在執行個體、容器、函數與行動裝置。了解如何重複使用現有應用程式元件

透過分離工作流程邏輯縮短開發週期

AWS Step Functions 嚴格分離應用程式的邏輯與實作。您可新增、移動、交換及重新排序步驟,而無需就商業邏輯進行變更。透過分離問題,可將工作流程模組化、簡化維護、取得可擴展性,並可重複使用程式碼。

內建狀態管理與工作流程進度追蹤

AWS Step Functions 會在執行期間維護應用程式的狀態,包括追蹤應用程式的執行步驟,以及針對在工作流程步驟之間移動的資料加以儲存。這代表您不必採用資料存放區來自行管理狀態,或在所有任務組建複雜的狀態管理。

內建錯誤處理

無論任務需要幾秒鐘或數月才能完成,AWS Step Functions 均會透過內建的嘗試/抓取及重試來自動處理錯誤與例外狀況。您可自動重試失敗或逾時的工作、以不同方式回應不同類型的錯誤,並透過回復指定的清理及復原程式碼來輕鬆恢復。進一步了解 Step Functions 錯誤處理,以及如何利用狀態機器處理錯誤條件

即時且可稽核的工作流程執行歷史記錄

AWS Step Functions 提供即時診斷與儀表板,整合 Amazon CloudWatch 與 AWS CloudTrail,並記錄每項執行,包括整體狀態、失敗步驟、輸入與輸出。如出現問題,您不僅可快速識別位置與原因,並可快速進行疑難排解並修復故障。進一步了解 Step Functions 監控及記錄

視覺化操作員儀表板,可用於監控及疑難排解

啟動應用程式的方式非常簡單,只要按下按鈕,然後以視覺化方式觀察執行步驟,就能迅速驗證一切是否如預期依序運作。主控台會清楚反白顯示錯誤,以便您迅速找出問題的根本原因,並對問題進行疑難排解。

高可用性及容錯工作流程

AWS Step Functions 具內建容錯能力,可在各區域的跨多個可用區域維護服務容量,保護應用程式不受個別機器或資料中心故障的影響。這可協助確保服務本身與其運作的應用程式工作流程都有高可用性。

可擴展的無伺服器解決方案

為了因應不斷變化的工作負載,AWS Step Functions 會為您自動擴展操作及基本運算來執行應用程式的步驟。Step Functions 會自動擴展,以協助確保應用程式工作流程的效能在請求頻率增加時能保持一致。

針對事件處理工作流程 (例如 IoT 與資料擷取) 進行大量協同運作

AWS Step Functions 新增 Express 工作流程。Express 工作流程支援每秒超過 100,000 個事件的速率,可讓您建立大量短期工作流程。

Express 工作流程可協調來自超過一百個 AWS 第三方 SaaS 事件來源的 AWS Lambda 函數調用、AWS IoT 規則引擎動作,以及 Amazon EventBridge 事件。

請參閱 Step Functions 使用案例頁面,進一步了解 Express 與標準工作流程,以及如何在範例自動化架構加以運用

大規模平行處理

Step Functions 可重複利用儲存在 Amazon S3 的物件 (例如影像、日誌或 CSV 檔案),然後啟動並協調數千個平行工作流程來處理資料。您可利用更快、更輕鬆的方式擴展數千個同時執行的工作流程,協助您分析數百萬個日誌、重複利用數 TB 的資料,或處理文件、影像與影片檔案。進一步了解用於組建大規模平行工作流程的 Step Functions 映射狀態

安全性

AWS Step Functions 整合 AWS 身分與存取管理 (IAM),同時,針對工作流程所運用的所有資源建議採用最低權限的 IAM 政策。AWS Step Functions 利用 AWS PrivateLink 支援 VPC 端點 (VPCE)。允許您從啟用 VPC 的 AWS Lambda 函數與其他 AWS 服務存取 AWS Step Functions,而無需周遊公有網際網路。進一步了解 Step Functions 安全性與驗證

合規

AWS Step Functions 是符合 HIPAA 的服務,可搭配使用包含醫療保健相關資訊 (例如個人健康資訊 (PHI)) 的應用程式。Step Functions 也符合 SOC (系統與組織控制) 措施,如需第三方稽核結果,請造訪 AWS SOC 合規網站。AWS Step Functions 符合其他一般合規標準。請檢閱 AWS 雲端安全性網站,了解合規範圍。

按使用量付費

當您採用 AWS Step Functions 時,您可依狀態轉換按次付費。無論每個狀態的持續時間為何 (最長可達一年),帳單一律以狀態轉換計費,且您無需為閒置時間付費。隨著您從數項執行擴展到數千萬項,這可讓 Step Functions 具成本效益。進一步了解 Step Functions 定價