函数工作流 FUNCTIONGRAPH-创建函数流:请求参数

时间:2025-05-28 09:46:57

请求参数

表2 请求Body参数

参数

是否必选

参数类型

描述

name

String

函数流名称

最小长度:1

最大长度:64

description

String

函数流描述

最小长度:1

最大长度:512

start

String

流程开始节点ID

最小长度:1

最大长度:256

triggers

Array of Trigger objects

触发器列表

数组长度:0 - 200

functions

Array of Function objects

函数列表

数组长度:0 - 100

states

Array of OperationState objects

函数流节点清单,定义参考SleepState和OperationState

数组长度:1 - 100

constants

Object

函数流中的常量

retries

Array of Retry objects

重试策略清单

数组长度:0 - 200

mode

String

函数流模式,当前支持两种模式NORMAL: 标准模式,普通模式面向普通的业务场景,支持长时间任务,支持执行历史持久化和查询,只支持异步调用EXPRESS: 快速模式,快速模式面向业务执行时长较短,需要极致性能的场景,只支持流程执行时长低于5分钟的场景,不支持执行历史持久化,支持同步和异步调用默认为标准模式

缺省值:NORMAL

枚举值:

  • NORMAL
  • EXPRESS

express_config

ExpressConfig object

快速函数流模式配置,当mode为EXPRESS时需要设置

enterprise_project_id

String

企业项目ID

最小长度:0

最大长度:64

enable_stream_response

Boolean

是否返回流数据

缺省值:false

表3 Trigger

参数

是否必选

参数类型

描述

trigger_name

String

触发器名称

最小长度:1

最大长度:256

trigger_type

String

触发器类型 FLOWTIMER:定时触发器 SMN :SMN触发器APIG_DE:APIG触发器(专享版) OBS:OBS触发器

(当前OBS触发器暂不支持中国站。)

最小长度:1

最大长度:32

枚举值:

  • FLOWTIMER
  • SMN
  • APIG_DE
  • OBS

enabled

Boolean

是否启用触发器

缺省值:true

枚举值:

  • true
  • false

trigger_config

OBSTriggerConfig object

OBS触发器配置,当trigger_type为OBS时需要设置

表4 OBSTriggerConfig

参数

是否必选

参数类型

描述

bucket

String

OBS桶名(trigger_type为OBS时配置)

最小长度:1

最大长度:64

events

Array of strings

OBS事件列表(trigger_type为OBS时配置)

数组长度:1 - 64

prefix

String

对象名前缀(trigger_type为OBS时配置)

最小长度:1

最大长度:1024

suffix

String

对象名后缀(trigger_type为OBS时配置)

最小长度:1

最大长度:1024

表5 Function

参数

是否必选

参数类型

描述

name

String

函数名称,在单个流程中,名称需要唯一

最小长度:0

最大长度:256

operation

String

函数调用URN

最小长度:0

最大长度:256

metadata

Object

函数扩展属性,由用户自己定制

表6 OperationState

参数

是否必选

参数类型

描述

action_mode

String

Action执行模式,支持串行,并行两种模式,默认串行

最小长度:1

最大长度:32

枚举值:

  • sequential
  • parallel

actions

Array of Action objects

节点中要执行的操作列表

数组长度:1 - 10

on_errors

Array of OnError objects

错误处理策略

数组长度:0 - 200

id

String

节点ID,需要在当前函数流中唯一

最小长度:0

最大长度:64

name

String

节点名称

最小长度:1

最大长度:256

type

String

节点类型

最小长度:1

最大长度:32

枚举值:

  • Operation
  • Sleep
  • End

end

Boolean

是否是结束节点

transition

String

下一步骤节点ID

最小长度:0

最大长度:256

state_data_filter

StateDataFilter object

过滤表达式

duration

Long

时间等待节点等待时间(秒),节点类型为Sleep时为必填,节点类型不为Sleep时无效

最小值:0.001

最大值:86400

表7 Action

参数

是否必选

参数类型

描述

function_ref

FunctionRef object

函数调用信息

表8 FunctionRef

参数

是否必选

参数类型

描述

ref_name

String

函数引用名称,需要和外层functions中的name对应

最小长度:0

最大长度:256

invoke_mode

String

函数调用模式,目前只支持同步调用

最小长度:1

最大长度:32

枚举值:

  • synchronize
  • asynchronous

arguments

Object

函数执行时的入参,支持引用constants中的常量 定义方式:参数路径 | 常量值/常量路径 参数路径指输入参数的JsonPath路径,如$.a.b[0].c 常量值可以为数字类型,字符串类型(需要用单引号括起来),布尔类型 常量路径为常量的JsonPath路径,但是根节点需要用$CONST表示,示例:$CONST.a.b

表9 OnError

参数

是否必选

参数类型

描述

error

String

错误匹配表达式,用来过滤需要处理的异常

最小长度:0

最大长度:256

transition

String

下一步骤节点ID

最小长度:0

最大长度:256

retry_ref

String

重试策略名称

最小长度:0

最大长度:256

表10 StateDataFilter

参数

是否必选

参数类型

描述

input

String

输入过滤表达式(JsonPath)

最小长度:0

最大长度:256

output

String

输出过滤表达式(JsonPath)

最小长度:0

最大长度:256

表11 Retry

参数

是否必选

参数类型

描述

name

String

重试策略名称,在单个流程中,名称需要唯一

最小长度:1

最大长度:256

delay

Long

重试间隔,单位:秒。若不传,默认为1

最小值:1

最大值:30

max_attempts

Long

最大重试次数,。若不传,默认为3

最小值:1

最大值:8

表12 ExpressConfig

参数

是否必选

参数类型

描述

log_level

String

快速模式相关配置,仅在mode配置为EXPRESS时生效 快速模式下流程的执行日志级别,当前支持: ALL: 记录所有节点的执行日志 ERROR:仅记录异常节点执行日志 NONE:不记录日志 注意:当配置为ALL和ERROR级别时租户需要开启LTS相关权限

最小长度:1

最大长度:5

枚举值:

  • ALL
  • ERROR
  • NONE
support.huaweicloud.com/api-functiongraph/functiongraph_06_1004.html