教學課程 2:使用 Lambda 函數定義第一個服務整合 - AWS Step Functions

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

教學課程 2:使用 Lambda 函數定義第一個服務整合

在本教學課程中,您將學習如何定義工作流程的第一個服務整合。您可以使用名為「取得信用額度」的Task狀態來叫用 Lambda 函數。在Task狀態中,您可以使用步驟函數支援的 AWS SDK 整合。

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

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

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

重要

請確定您在教學課程 1 中建立的工作流程原型與AWS 區域您將在本教學課程中建立的 Lambda 函數相同。

  1. 在新索引標籤或視窗中,開啟 Lambda 主控台並建立標題RandomNumberforCreditNode.js 16.x Lambda 函數。如需使用主控台建立 Lambda 函數的詳細資訊,請參閱AWS Lambda開發人員指南中的主控台中的建立 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 中建立的工作流程原型的「步驟函數」主控台視窗

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

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

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

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

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

  3. 保持此視窗開啟,並繼續下一個教學課程,以進行進一步的動作。

注意

在本教學課程中,您學習瞭如何與工作流程中某個Task狀態內的 Lambda 函數整合。您也可以指定服務名稱和 API 呼叫,在Task狀態中使用其他支援的 AWS SDK 整合,如下列語法所示:

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

如需詳細資訊,請參閱AWS Step Functions 搭配其他服務使用

下一步驟

在下一個教學課程中,您將在工作流程中實作條件式邏輯。在步驟函數狀態機條件邏輯的行為類似於在大多數常見的編程語言的 if-else 語句。您將在工作流程中使用條件式邏輯,根據條件資訊判斷執行路徑。