跳轉到

Lambda

Lambda 任務讓你在工作流程 (Workflow) 的某個步驟裡,呼叫一個已經部署在 AWS Lambda 上的函式來執行自訂程式碼。當平台內建的 Action 無法滿足需求(例如要呼叫公司既有的後端邏輯、做特殊運算、串接內部系統)時,可以把那段邏輯寫成 Lambda 函式,再用這個任務把它接進流程。

這頁能幫你做什麼

  • 在工作流程中執行你自己用 AWS Lambda 部署好的函式。
  • 把前一步的資料(或你指定的內容)當成輸入傳給該函式,並把函式回傳結果交給下一步。
  • 重複使用既有的後端程式碼,不必把邏輯搬進平台。

開始前

需要先有可用的 AWS Lambda 函式

這個任務不會幫你建立 Lambda 函式,它只負責「呼叫」。你必須先在 AWS 上部署好函式,並取得它的名稱或 ARN。平台執行環境也需具備呼叫該函式的權限。若不確定權限設定,請與系統管理員確認。

操作步驟

  1. 在工作流程編輯器中新增一個 Lambda 任務(如何新增請見 Action 使用指南)。

    Lambda 任務設定面板

  2. 點選節點,右側開啟設定表單,停在「設定」分頁。

  3. 在「名稱」欄位為這個步驟取一個好辨識的名字。
  4. 在「Lambda 函式指定方式」選擇要怎麼指定函式:「從 Lambda 函式資源選取」或「輸入函式名稱或 ARN」(見下方說明),再依選擇填入對應欄位。
  5. 在「傳輸資料 (Payload)」填入要傳給函式的 JSON 內容;可填固定值,也可用 JSONPath(以 $ 開頭)從上一步的輸出動態帶入。
  6. 設定「下一個狀態」,指定這步完成後要前往哪個步驟。
  7. 視需要展開「執行設定」調整進階行為(見下方欄位表)。
  8. 可用表單上方的測試按鈕()試跑,確認回傳結果符合預期。

完整欄位說明

設定分頁

欄位 必填 預設 說明
名稱 (Name) 這個步驟在工作流程中的識別名稱,須在同一工作流程內唯一。詳見 Action 通用設定
Lambda 函式指定方式 (Lambda Function Reference) 從 Lambda 函式資源選取 選擇怎麼指定要呼叫的函式,二選一(見下方說明):「從 Lambda 函式資源選取」或「輸入函式名稱或 ARN」。
Lambda 函式 (Lambda Function) 條件 當指定方式為「從 Lambda 函式資源選取」時出現。選擇一個已建立的 Lambda 函式資源(在平台「資源」中登記好的具名 Lambda 函式)。
Lambda 函式名稱 (Lambda Function Name) 條件 當指定方式為「輸入函式名稱或 ARN」時出現。直接填入要呼叫的 AWS Lambda 函式名稱、版本、別名或完整 ARN。
傳輸資料 (Payload) 空白 要傳給 Lambda 函式作為輸入的 JSON 物件。可填固定 JSON,也可用 JSONPath 從工作流程輸入動態帶入欄位值。不填代表不附帶額外輸入資料。
下一個狀態 (Next State) 這步完成後要前往的下一個步驟。詳見 Action 通用設定
附註 (Comment) 空白 給這個步驟的備註說明,純記錄用途,不影響執行。

兩種指定函式的方式

「Lambda 函式指定方式」決定你要怎麼告訴平台該呼叫哪個函式:

  • 從 Lambda 函式資源選取 (Select from Lambda Function Resources):選用一個已在平台「資源」中登記好的 Lambda 函式資源(把 AWS Lambda ARN 登記成具名資源)。適合同一個函式會在多個工作流程或工具重複使用的情境,集中管理、不必每次重填 ARN。
  • 輸入函式名稱或 ARN (Enter Function Name or ARN):直接填入函式名稱或完整 ARN,不必先建立資源。適合一次性或臨時呼叫。

請確認函式可被存取

無論採哪種方式,請確認指定的函式在平台執行環境具有呼叫權限。若不確定權限或 ARN,請與系統管理員確認。

執行設定(摺疊區塊)

展開「設定」分頁底部的「執行設定」可看到下列欄位,控制這步實際執行時的行為。這些是各 Action 共用的項目,完整說明見 Action 通用設定

欄位 必填 預設 說明
上傳輸出至外部記憶體 關閉 開啟後這步的輸出改存到外部記憶體,適合輸出資料量很大時使用;開啟後會多出選擇器設定要存哪部分。
在任務開始階段開啟即時輸出串流 關閉 開啟後,任務開始時把任務定義以串流方式即時送到執行頁面顯示。
在任務結束階段開啟即時輸出串流 關閉 開啟後,任務結束時把結果以串流方式即時送到執行頁面顯示。
錯誤時中止 (Abort on Error) 開啟 開啟(預設)代表這步出錯時整個工作流程中止;關閉後改用下方「預設輸出」繼續往下走。
預設輸出 (Default Output) 只在關閉「錯誤時中止」時出現,指定出錯時要改用的替代輸出值,讓流程能繼續執行。

輸入與輸出、錯誤處理

切到「輸入與輸出」、「錯誤處理」分頁可調整資料流與重試/捕捉規則,這些都是各 Action 共用設定,完整說明見 Action 通用設定

實際範例

假設你有一個名為 calculate-shipping-fee 的 Lambda 函式,會依重量與目的地計算運費。可這樣設定:

  • Lambda 函式名稱calculate-shipping-fee
  • 傳輸資料 (Payload)
{
  "weight_kg": "$.order.weight",
  "destination": "$.order.country"
}

執行時,平台會把上一步輸出中的 order.weightorder.country 帶入,呼叫函式後把回傳結果交給下一步。後續步驟可用 JSONPath(如 $.body.fee)取用回傳內容;實際結構取決於你的 Lambda 實作。

下一步

  • 回到 Action 使用指南 了解共用設定與其他 Action 類型。
  • 若只需在流程內跑簡單的 Python,不必部署到 AWS,改用 Code 任務