函数计算集成
更新时间 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.ParseErro
r错误。
执行模式
函数调用集成支持RequestComplete
和WaitForTaskToken
两种执行模式,执行模式说明请参考服务集成模式文档。