本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
管理 Lambda 工作流程和事件
使用 Lambda 建置無伺服器應用程式時,您通常需要協調函數執行和處理事件的方法。 AWS 提供兩個有助於協調 Lambda 函數的關鍵服務:
-
AWS Step Functions 適用於工作流程協同運作
-
用於事件管理的 Amazon EventBridge 排程器和 Amazon EventBridge
此外,您可以將 Step Functions 和 EventBridge 整合到您的應用程式中。例如,您可以使用 EventBridge 排程器在特定事件發生時觸發 Step Functions 工作流程,或設定 Step Functions 工作流程以在定義的執行點將事件發佈至 EventBridge 排程器。本節中的下列主題提供如何使用這些服務的詳細資訊。
使用 Step Functions 協調工作流程
AWS Step Functions 是一種工作流程協同運作服務,可協助您將多個 Lambda 函數和其他 AWS 服務協調為結構化工作流程。這些工作流程可以維持狀態、使用複雜的重試機制處理錯誤,以及大規模處理資料。
Step Functions 提供兩種類型的工作流程,以滿足不同的協同運作需求:
- 標準工作流程
-
非常適合需要恰好執行一次語意的長時間執行、可稽核工作流程。標準工作流程最多可以執行一年,提供詳細的執行歷史記錄,並支援視覺化偵錯。它們適用於訂單履行、資料處理管道或多步驟分析任務等程序。
- 快速工作流程
-
專為具有at-least-once執行語意high-event-rate、短期工作負載而設計。快速工作流程最多可以執行五分鐘,非常適合大量事件處理、串流資料轉換或 IoT 資料擷取案例。與標準工作流程相比,它們提供更高的輸送量和可能更低的成本。
注意
如需 Step Functions 工作流程類型的詳細資訊,請參閱 Step Functions 中的選擇工作流程類型。
在這些工作流程中,Step Functions 提供兩種用於平行處理的映射狀態:
- 內嵌映射
-
在父工作流程的執行歷史記錄中處理來自 JSON 陣列的項目。內嵌映射最多支援 40 個並行反覆運算,適用於較小的資料集,或當您需要在單一執行中保留所有處理時。如需詳細資訊,請參閱在內嵌模式中使用映射狀態。
- 分散式地圖
-
在超過 256 KiB 的資料集上反覆運算,或需要超過 40 個並行反覆運算,以處理大規模平行工作負載。透過支援最多 10,000 個平行子工作流程執行,分散式地圖擅長處理存放在 Amazon S3 中的半結構化資料,例如 JSON 或 CSV 檔案,因此非常適合批次處理和 ETL 操作。如需詳細資訊,請參閱在分散式模式下使用映射狀態。
透過結合這些工作流程類型和映射狀態,Step Functions 提供靈活且強大的工具集,用於協調複雜的無伺服器應用程式,從小型操作到大規模資料處理管道。
若要開始使用 Lambda 搭配 Step Functions,請參閱使用 Step Functions 協調 Lambda 函數。
使用 EventBridge 和 EventBridge 排程器管理事件
Amazon EventBridge 是一種事件匯流排服務,可協助您建置事件驅動型架構。它會路由 AWS 服務、整合應用程式和軟體即服務 (SaaS) 應用程式之間的事件。EventBridge 排程器是一種無伺服器排程器,可讓您從一個中央服務建立、執行和管理任務,允許您使用 Cron 和 Rate 表達式依排程調用 Lambda 函數,或設定一次性調用。
Amazon EventBridge 和 EventBridge 排程器可協助您使用 Lambda 建置事件驅動型架構。EventBridge 會路由 AWS 服務、整合應用程式和 SaaS 應用程式之間的事件,而 EventBridge 排程器則提供特定排程功能,以定期或一次性叫用 Lambda 函數。
這些服務提供數種使用 Lambda 函數的關鍵功能:
-
建立符合的規則,並使用 EventBridge 將事件路由至 Lambda 函數
-
使用 cron 和 rate 表達式搭配 EventBridge 排程器來設定週期性函數叫用
-
在特定日期和時間設定一次性函數叫用
-
定義排程調用的彈性時段和重試政策
如需詳細資訊,請參閱依排程調用 Lambda 函數。