本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
將服務整合至您的 Step Functions 工作流程
在上一個主題中建立狀態機器,您已將所有步驟新增至工作流程原型。現在,您將建立 Lambda 函數,並將其完全整合到您的工作流程中。您將配置一個名為獲取信用額度的Task
狀態,該狀態將調用您的 Lambda 函數。在Task
狀態內,您可以使用任何 AWS SDKStep Functions 支援的整合。
若要為您的工作流程定義第一個服務整合,請先建立 Lambda 函數。然後,更新您的工作流程,以指定與 Lambda 函數的服務整合。本教程中使用的 Lambda 函數返回表示請求的信用額度的隨機生成的整數。
步驟 1:建立並測試 Lambda 函數
您可以撰寫函式的程式碼 AWS Management Console 或您最喜歡的編輯器。在下列步驟中,您會建立名為的 Node.js Lambda 函數RandomNumberforCredit
。
重要
確保您在與狀態機相同的區域中建立 Lambda 函數 AWS 區域 作為你的狀態機。
-
在新索引標籤或視窗中,開啟 Lambda 主控台
並建立標題為的 Node.js Lambda 函數 RandomNumberforCredit
。如需使用主控台建立 Lambda 函數的詳細資訊,請參閱在主控台中建立 Lambda 函數 AWS Lambda 開發人員指南。 -
在RandomNumberforCredit頁面上,選擇 index.mjs,並以下列程式碼取代「程式碼原始程式碼」區域中的現有程式碼。
export const handler = async function(event, context) { const credLimit = Math.floor(Math.random() * 10000); return (credLimit); };
-
從「函數概觀」區段中,複製 Lambda 函數的 Amazon 資源名稱,並將其儲存在文字檔中。指定「取得信用額度」狀態的服務整合ARN時,您需要此功能。下面是一個例子ARN:
arn:aws:lambda:us-east-2:123456789012:function:
HelloWorld
-
選擇部署,然後選擇測試以部署變更並查看 Lambda 函數的輸出。
步驟 2:更新工作流程 — 設定 [取得信用額度] 狀態
在 Step Functions 主控台中,您將更新工作流程,以指定與您在步驟 1 中建立的 RandomNumberforCredit Lambda 函數的服務整合。
-
開啟包含您在教學課程 1 中建立的工作流程原型的「Step Functions」主控台
視窗 -
選擇「取得信用額度」狀態,然後在「組態」頁標中執行下列動作:
-
對於「整合」類型,請保留預設選取「最佳化」。
使用 Step Functions,您可以與其他集成 AWS 服務 並在您的工作流程中協調它們。如需服務整合及其類型的詳細資訊,請參閱整合服務與 Step Functions。
-
對於函數名稱,從下拉式清單中選擇 RandomNumberforCreditLambda 函數。
-
保留其餘項目的預設選項。
-
-
保持此視窗開啟,並繼續進行下一個主題。
注意
您還可以使用其他支持 AWS SDK透過指定服務名稱和API呼叫來在Task
狀態中進行整合,如下列範例所示。如需相關資訊,請參閱 整合服務與 Step Functions。
arn:aws:states:::aws-sdk:
serviceName
:apiAction
後續步驟
在下一個主題中,新增條件式邏輯您將使用條件式邏輯配置選擇狀態,以決定工作流程的下一個步驟。