AWS Step Functions 功能

為何選擇 AWS Step Functions?

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

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

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

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

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

Page Topics

一般問題

一般問題

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

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

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

您可利用 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)
  • 機器學習服務 (Amazon SageMaker)
  • Amazon API Gateway 建立的 API

 進一步了解服務整合

AWS Step Functions 支援與採用 AWS PrivateLink 和 Amazon VPC Lattice 技術的 AWS 服務、SaaS 應用程式和私有 API 整合,讓客戶能夠更輕鬆地加速創新,並簡化公有和私有網路 (內部部署和雲端) 之間的分散式應用程式現代化作業。您可以將 AWS 雲端和外部 SaaS 應用程式的功能導入至全新和現有工作負載,實現更高的效能、更強的靈活性和更低的成本。您可以建置、管理和協調由您的應用程式、AWS 服務和 SaaS 應用程式組成的多步驟工作流程,而無需編寫自訂程式碼或維護其他基礎設施。透過全受管的私有資源連線功能,您可以安全地協調舊式系統和雲端原生應用程式之間的工作流程,讓您在 AWS 上加速創新,同時提高安全性和法律合規性。這些改進可讓您透過消除編寫和維護自訂聯網或整合程式碼的需求來加快上市時間,讓開發人員能夠建置可擴展的系統並輕鬆新增全新功能。

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 會自動擴展,以協助確保應用程式工作流程的效能在請求頻率增加時能保持一致。

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 定價

進一步了解 AWS Step Functions 定價

瀏覽定價頁面
準備好開始使用了嗎?
登入 AWS Step Functions 主控台
還有其他問題嗎?
聯絡我們