將服務整合至您的 Step Functions 工作流程 - AWS Step Functions

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

將服務整合至您的 Step Functions 工作流程

在上一個主題中建立狀態機器,您已將所有步驟新增至工作流程原型。現在,您將建立 Lambda 函數,並將其完全整合到您的工作流程中。您將配置一個名為獲取信用額度Task狀態,該狀態將調用您的 Lambda 函數。在Task狀態內,您可以使用任何 AWS SDKStep Functions 支援的整合。

若要為您的工作流程定義第一個服務整合,請先建立 Lambda 函數。然後,更新您的工作流程,以指定與 Lambda 函數的服務整合。本教程中使用的 Lambda 函數返回表示請求的信用額度的隨機生成的整數。

步驟 1:建立並測試 Lambda 函數

您可以撰寫函式的程式碼 AWS Management Console 或您最喜歡的編輯器。在下列步驟中,您會建立名為的 Node.js Lambda 函數RandomNumberforCredit

重要

確保您在與狀態機相同的區域中建立 Lambda 函數 AWS 區域 作為你的狀態機。

  1. 在新索引標籤或視窗中,開啟 Lambda 主控台並建立標題為的 Node.js Lambda 函數RandomNumberforCredit。如需使用主控台建立 Lambda 函數的詳細資訊,請參閱在主控台中建立 Lambda 函數 AWS Lambda 開發人員指南

  2. RandomNumberforCredit頁面上,選擇 index.mjs,並以下列程式碼取代「程式碼原始程式碼」區域中的現有程式碼。

    export const handler = async function(event, context) { const credLimit = Math.floor(Math.random() * 10000); return (credLimit); };
  3. 從「函數概觀」區段中,複製 Lambda 函數的 Amazon 資源名稱,並將其儲存在文字檔中。指定「取得信用額度」狀態的服務整合ARN時,您需要此功能。下面是一個例子ARN:

    arn:aws:lambda:us-east-2:123456789012:function:HelloWorld
  4. 選擇部署,然後選擇測試以部署變更並查看 Lambda 函數的輸出。

步驟 2:更新工作流程 — 設定 [取得信用額度] 狀態

在 Step Functions 主控台中,您將更新工作流程,以指定與您在步驟 1 中建立的 RandomNumberforCredit Lambda 函數的服務整合。

  1. 開啟包含您在教學課程 1 中建立的工作流程原型的「Step Functions」主控台視窗

  2. 選擇「取得信用額度」狀態,然後在「組態」頁標中執行下列動作:

    1. 對於「整合」類型,請保留預設選取「最佳化」。

      使用 Step Functions,您可以與其他集成 AWS 服務 並在您的工作流程中協調它們。如需服務整合及其類型的詳細資訊,請參閱整合服務與 Step Functions

    2. 對於函數名稱,從下拉式清單中選擇 RandomNumberforCreditLambda 函數。

    3. 保留其餘項目的預設選項。

  3. 保持此視窗開啟,並繼續進行下一個主題。

注意

您還可以使用其他支持 AWS SDK透過指定服務名稱和API呼叫來在Task狀態中進行整合,如下列範例所示。如需相關資訊,請參閱 整合服務與 Step Functions

arn:aws:states:::aws-sdk:serviceName:apiAction

後續步驟

在下一個主題中,新增條件式邏輯您將使用條件式邏輯配置選擇狀態,以決定工作流程的下一個步驟。