函數計算集成
更新時間 2025-07-28 09:07:37
最近更新時間: 2025-07-28 09:07:37
分享文章
本文介紹云工作流如何通過集成函數計算來調用函數。使用Operation狀態,functionRef.type配置為cf:InvokeFunction。
基本概念
參數配置
| 參數名稱 | 是否必選 | 參數說明 | 示例值 |
|---|---|---|---|
| functionName | 是 | 被調用函數名稱。 | demo-function |
| qualifier | 是 | 版本或別名 | LATEST |
| body | 否 | 請求體內容,需要為鍵值對。 | body: input: value |
| invocationType | 否 | 同步調用或異步調用(sync/async) | sync |
| regionId | 是 | 函數所屬地域。 | bb9fdb42056f11eda1610242ac110002 |
返回值與模式
函數響應必須為JSON格式,否則結果解析將失敗。RequestComplete模式同步完成,WaitForTaskToken模式需外部服務回調,傳遞任務令牌(taskToken)。
示例代碼與解析
提供的示例代碼片段如下,展示了一個簡單的函數集成工作流:
specVersion: "0.8"
version: "1.0"
name: "test"
start: "InvokeFunction"
states:
- name: "InvokeFunction"
type: "Operation"
metadata: {}
stateDataFilter: {}
actions:
- retryRef: []
catchRef: []
functionRef:
type: "cf:InvokeFunction"
arguments:
functionName: "demo-function"
qualifier: "LATEST"
invocationType: "sync"
body:
input: "{ $Context.Input.key }"
regionId: "bb9fdb42056f11eda1610242ac110002"
actionExecuteMode: "RequestComplete"
end: true
type:固定為
Operation,標識這是一個Operation狀態。functionRef.type:固定為
cf:InvokeFunction,標識這是一個函數集成。functionRef.arguments:函數請求參數。
actionExecuteMode:示例使用
RequestComplete,表示同步執行,等待HTTP響應后繼續流程。另支持WaitForTaskToken模式,用于標準工作流的異步場景。
返回值說明
函數請求的返回結果會被直接解析為JSON對象,如下所示:
{
"key": "value"
}如果函數請求的返回結果為其它格式,解析將失敗并返回cf.ParseError錯誤。
執行模式
函數調用集成支持RequestComplete和WaitForTaskToken兩種執行模式,執行模式說明請參考服務集成模式文檔。