使用快速工作流程最佳化 - AWS Step Functions

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

使用快速工作流程最佳化

Step Functions 會根據您用來建置狀態機器的工作流程類型來決定標準和快速工作流程的定價。若要最佳化無伺服器工作流程的成本,您可以遵循下列其中一項或兩項建議:

有關選擇「標準」或「快速」工作流程類型如何影響帳單的資訊,請參閱AWS Step Functions定價

秘訣 #1: 在標準工作流程內嵌快速工作流程

Step Functions 會執行具有有限持續時間和步驟數目的工作流程。某些工作流程可能會在短時間內完成執行。其他人可能需要長時間執行和 high-event-rate 工作流程的組合。使用 Step Functions,您可以從多個較小、更簡單的工作流程中建立大型、複雜的工作流程。

例如,若要建立訂單處理工作流程,您可以將所有非冪等作業納入「標準」工作流程中。這可能包括操作,例如通過人工互動批准訂單和處理付款。然後,您可以在 Express 工作流程中結合一系列冪等動作,例如傳送付款通知和更新產品庫存。您可以在「標準」工作流程中嵌套此 Express 工作流程。在此範例中,「標準」工作流程稱為父狀態機器。巢狀 Express 工作流程稱為子狀態機器

秘訣 #2: 將標準工作流程轉換為 Express 工作流程

如果現有的「標準」工作流程符合下列需求,您可以將它們轉換為 Express 工作流程:

  • 工作流程必須在五分鐘內完成其執行。

  • 工作流程符合at-least-once執行模型。這表示工作流程中的每個步驟可能會執行一次以上。

  • 工作流程不使用.waitForTaskToken.sync服務整合模式。

重要

快速工作流程使用 Amazon CloudWatch 日誌記錄執行歷史記錄。使用 CloudWatch 記錄時會產生額外費用。

使用主控台將標準工作流程轉換為 Express 工作流程
  1. 開啟「Step Functions」主控台

  2. 在 [狀態電腦] 頁面上,選擇 [標準類型狀態機器] 以開啟它。

    提示

    從 [任何類型] 下拉式清單中,選擇 [標準] 篩選狀態機器清單,並僅檢視 [標準] 工作流程。

  3. 選擇「複製到新的」。

    工作流 Studio 會在設計模式顯示您選取的狀態機的工作流程中開啟。

  4. (選擇性) 更新工作流程設計。

  5. 指定狀態機的名稱。若要執行此操作,請選擇的預設狀態機器名稱旁邊的編輯圖示MyStateMachine。然後,在 [狀態機器組態] 中,在 [狀態機器名稱] 方塊中指定名稱

  6. (選擇性) 在狀態機器組態中,指定其他工作流程設定,例如狀態機器類型及其執行角色。

    請確定針對「類型」選擇「快速」。保留狀態機器設定上的所有其他預設選項。

    注意

    如果您要轉換先前在AWS CDK或中定義的標準工作流程AWS SAM,則必須變更的值TypeResource name。

  7. 在 [確認角色建立] 對話方塊中,選擇 [確認] 以繼續。

    您也可以選擇 [檢視角色設定] 以返回 [狀態機器組態]。

    注意

    如果您刪除 Step Functions 建立的 IAM 角色,則 Step Functions 稍後無法重新建立。同樣地,如果您修改角色 (例如,透過從 IAM 政策中的主體移除 Step Functions),Step Functions 稍後無法還原其原始設定。

如需管理工作流程成本最佳化時的最佳做法和指導方針的詳細資訊,請參閱建立具成本效益的AWS Step Functions工作流程