功能介绍
创建函数流
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
URI
POST /v2/{project_id}/fgs/workflows
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
项目ID,获取方式请参见获取项目ID。 最小长度:1 最大长度:64 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
name |
是 |
String |
函数流名称 最小长度:1 最大长度:64 |
description |
否 |
String |
函数流描述 最小长度:1 最大长度:512 |
start |
是 |
String |
流程开始节点ID 最小长度:1 最大长度:256 |
triggers |
否 |
触发器列表 |
|
functions |
是 |
函数列表 |
|
states |
是 |
函数流节点清单,定义参考SleepState和OperationState |
|
constants |
是 |
Object |
函数流中的常量 |
retries |
是 |
重试策略清单 |
|
mode |
否 |
String |
函数流模式,当前支持两种模式NORMAL: 标准模式,普通模式面向普通的业务场景,支持长时间任务,支持执行历史持久化和查询,只支持异步调用EXPRESS: 快速模式,快速模式面向业务执行时长较短,需要极致性能的场景,只支持流程执行时长低于5分钟的场景,不支持执行历史持久化,支持同步和异步调用默认为标准模式 缺省值:NORMAL 枚举值:
|
express_config |
否 |
快速函数流模式配置,当mode为EXPRESS时需要设置 |
|
ent erp rise_project_id |
否 |
String |
企业项目ID 最小长度:0 最大长度:64 |
enable_stream_response |
否 |
Boolean |
是否返回流数据 缺省值:false |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
trigger_name |
是 |
String |
触发器名称 最小长度:1 最大长度:256 |
trigger_type |
是 |
String |
触发器类型 FLOWTIMER:定时触发器 SMN :SMN触发器 APIG:APIG触发器(共享版) APIG_DE:APIG触发器(专享版) OBS:OBS触发器 最小长度:1 最大长度:32 枚举值:
|
enabled |
否 |
Boolean |
是否启用触发器 缺省值:true 枚举值:
|
trigger_config |
否 |
OBS触发器配置,当trigger_type为OBS时需要设置 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
bucket |
是 |
String |
OBS桶名(trigger_type为OBS时配置) 最小长度:1 最大长度:64 |
events |
是 |
Array of strings |
OBS事件列表(trigger_type为OBS时配置) |
prefix |
是 |
String |
对象名前缀(trigger_type为OBS时配置) 最小长度:1 最大长度:1024 |
suffix |
是 |
String |
对象名后缀(trigger_type为OBS时配置) 最小长度:1 最大长度:1024 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
name |
是 |
String |
函数名称,在单个流程中,名称需要唯一 最小长度:0 最大长度:256 |
operation |
是 |
String |
函数调用URN 最小长度:0 最大长度:256 |
metadata |
否 |
Object |
函数扩展属性,由用户自己定制 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
action_mode |
否 |
String |
Action执行模式,支持串行,并行两种模式,默认串行 最小长度:1 最大长度:32 枚举值:
|
actions |
是 |
节点中要执行的操作列表 |
|
on_errors |
否 |
错误处理策略 |
|
id |
是 |
String |
节点ID,需要在当前函数流中唯一 最小长度:0 最大长度:64 |
name |
是 |
String |
节点名称 最小长度:1 最大长度:256 |
type |
是 |
String |
节点类型 最小长度:1 最大长度:32 枚举值:
|
end |
是 |
Boolean |
是否是结束节点 |
transition |
是 |
String |
下一步骤节点ID 最小长度:0 最大长度:256 |
state_data_filter |
否 |
过滤表达式 |
|
duration |
否 |
Long |
时间等待节点等待时间(秒),节点类型为Sleep时为必填,节点类型不为Sleep时无效 最小值:0.001 最大值:86400 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
ref_name |
是 |
String |
函数引用名称,需要和外层functions中的name对应 最小长度:0 最大长度:256 |
invoke_mode |
否 |
String |
函数调用模式,目前只支持同步调用 最小长度:1 最大长度:32 枚举值:
|
arguments |
是 |
Object |
函数执行时的入参,支持引用constants中的常量 定义方式:参数路径 | 常量值/常量路径 参数路径指输入参数的JsonPath路径,如$.a.b[0].c 常量值可以为数字类型,字符串类型(需要用单引号括起来),布尔类型 常量路径为常量的JsonPath路径,但是根节点需要用$CONST表示,示例:$CONST.a.b |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
error |
否 |
String |
错误匹配表达式,用来过滤需要处理的异常 最小长度:0 最大长度:256 |
transition |
否 |
String |
下一步骤节点ID 最小长度:0 最大长度:256 |
retry_ref |
否 |
String |
重试策略名称 最小长度:0 最大长度:256 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
input |
否 |
String |
输入过滤表达式(JsonPath) 最小长度:0 最大长度:256 |
output |
否 |
String |
输出过滤表达式(JsonPath) 最小长度:0 最大长度:256 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
name |
是 |
String |
重试策略名称,在单个流程中,名称需要唯一 最小长度:1 最大长度:256 |
delay |
否 |
Long |
重试间隔,单位:秒。若不传,默认为1 最小值:1 最大值:30 |
max_attempts |
否 |
Long |
最大重试次数,。若不传,默认为3 最小值:1 最大值:8 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
log_level |
否 |
String |
快速模式相关配置,仅在mode配置为EXPRESS时生效 快速模式下流程的执行日志级别,当前支持: ALL: 记录所有节点的执行日志 ERROR:仅记录异常节点执行日志 NONE:不记录日志 注意:当配置为ALL和ERROR级别时租户需要开启 LTS 相关权限 最小长度:1 最大长度:5 枚举值:
|
响应参数
状态码: 201
参数 |
参数类型 |
描述 |
---|---|---|
id |
String |
唯一标识ID,流程定义ID 最小长度:1 最大长度:64 |
workflow_urn |
String |
函数工作流 URN, 格式为:urn:fss:<region_id>:<project_id>:workflow:<package>:<workflow_name>:<version>注意:package当前只支持defaultversion当前只支持latest |
name |
String |
流程定义名称 最小长度:1 最大长度:64 |
description |
String |
流程定义描述 最小长度:0 最大长度:512 |
created_time |
String |
流程创建时间,格式:yyyy-MM-ddTHH:mm:ssZ,UTC时间 最小长度:0 最大长度:64 |
updated_time |
String |
流程修改时间,格式:yyyy-MM-ddTHH:mm:ssZ,UTC时间 最小长度:0 最大长度:64 |
created_by |
String |
流程创建者 最小长度:0 最大长度:64 |
enable_stream_response |
Boolean |
是否返回流数据 缺省值:false |
状态码: 400
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码 最小长度:1 最大长度:36 |
error_msg |
String |
错误描述 最小长度:2 最大长度:512 |
request_id |
String |
请求ID 最小长度:2 最大长度:512 |
状态码: 500
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码 最小长度:1 最大长度:36 |
error_msg |
String |
错误描述 最小长度:2 最大长度:512 |
request_id |
String |
请求ID 最小长度:2 最大长度:512 |
请求示例
创建名为workflow_test,开始节点的名称为test的函数流。
POST /v2/{project_id}/fgs/workflows { "name" : "workflow_test", "start" : "test", "functions" : [ { "name" : "test", "operation" : "urn:fss:{regin}:c53626012ba84727b938ca8bf03108ef:test:latest" } ], "constants" : { }, "states" : [ { "id" : "test", "name" : "test", "type" : "Operation", "end" : false, "transition" : "end", "actions" : [ { "function_ref" : { "ref_name" : "test", "arguments" : { "execution_name" : "$.test" } } } ] }, { "id" : "end", "name" : "end", "type" : "End", "end" : true, "transition" : "", "state_data_filter" : { "input" : "", "output" : "" }, "actions" : [ ], "action_mode" : "" } ], "retries" : [ { "name" : "test" } ] }
响应示例
状态码: 201
Created
{ "id" : "48aff955-ea10-4ffd-b426-190bc192dc14", "workflow_urn" : "urn:fss:cn-north-7:73d69ae0cfcf460190522d060f05ad:workflow:default:testflow:latest", "name" : "test-flow", "description" : "desc", "created_time" : "2021-01-01T00:00:00Z", "updated_time" : "2021-01-01T00:00:00Z", "created_by" : "admin" }
状态码
状态码 |
描述 |
---|---|
201 |
Created |
400 |
Bad Request |
500 |
Internal Server Error |
错误码
请参见错误码。