本章节主要介绍如何创建函数流任务和编排函数流任务。您可以根据实际业务场景来创建标准函数流或快速函数流。
- 标准模式面向普通的业务场景,支持长时间任务,支持执行历史持久化和查询,只支持异步调用,在函数流运行记录页面查询执行结果。
- 快速模式面向业务执行时长较短,需要极致性能的场景,只支持流程执行时长低于5分钟的场景,不支持执行历史持久化,支持同步和异步调用。通过同步执行函数流接口进行函数流的同步执行,接口直接返回函数流执行结果,同时日志页面查看上报到LTS的函数流执行日志。
说明快速函数流限时免费,欢迎体验!
前提条件
已经在FunctionGraph控制台创建函数。
操作步骤
1、登录FunctionGraph控制台,进入“函数流”页面。
2、在“函数流”页面,单击“创建标准函数流”或“创建快速函数流”,进入新建函数流页面。
3、编排函数流任务,请您根据实际应用进行函数流编排。
- 在函数流页面,通过拖拽组件进行流程编排。
以下图为例,将开始节点、函数、结束节点拖入编辑框内,并用连接线连接好。
编排函数流
- 分别单击编辑框中的每个节点进行编辑。配置函数参数,参数说明如下表所示,带*参数为必填项。
说明配置函数前确保已创建好函数,示例中的函数节点选择函数2(函数执行返回result的值为函数调用事件内的input输入值+2的结果值),参见下图配置。
函数节点配置
函数参数说明
参数 说明 *应用 函数所属应用,用户创建函数时可以进行分组,
每个函数应用下面可以创建多个函数,在函数创建时可以指定其归属于某个函数应用。*函数 FunctionGraph中对应的函数。 说明仅对于Go函数支持返回流式数据:在函数详情页的“设置 > 高级设置”下,
打开“返回流式数据”开关即可*版本 FunctionGraph中函数对应的版本。 函数参数 流程中以json格式作为body参数在执行时传入函数。
Key:填写参数
Value:填写参数值
DefaultValue:设置默认值,参数未获取到值时,
默认获取默认值操作:编辑或删除设置的参数输入过滤表达式(JSONPath) 基于上一个流程的json输出参数,
可以使用JSONPath格式来选择性的过滤出当前流程的输入参数。输出过滤表达式(JSONPath) 基于当前流程的json输出参数,
可以使用JSONPath格式来选择性的过滤出下一流程的输出参数。
- 若您的函数流任务中配置了流程控制器,请参见下表进行配置,带*参数为必填项。
流程控制器参数说明
类型 参数 说明 子流程 选择子流程 选择已创建的函数流任务。 是否等待子流程完成 默认选择“是”。 输入过滤表达式(JSONPath) 基于上一个流程的json输出参数,可以使用JSONPath格式来选择性的过滤出当前流程的输入参数。 输出过滤表达式(JSONPath) 基于当前流程的json输出参数,可以使用JSONPath格式来选择性的过滤出下一流程的输出参数。 并行分支 *分支执行完成条件 所有分子执行完成:2个或2个以上分支时选择该条件
一个分支执行完成:只有1个分支时选择该条件
指定数目分支执行完成:2个或2个以上分支时其中某个分支可以选择该条件输入过滤表达式(JSONPath) 基于上一个流程的json输出参数,可以使用JSONPath格式来选择性的过滤出当前流程的输入参数。 输出过滤表达式(JSONPath) 基于当前流程的json输出参数,可以使用JSONPath格式来选择性的过滤出下一流程的输出参数。 指定分支执行完成数目 当“分支执行完成条件”选择指定数目分支执行完成时,支持自定义执行完成的数目。 *结果输出路径 输入并行分支执行结果输出位置,输入值作为key,并行分支执行结果作为value,以json形式输出。若未填写,默认输出路径为:result。 开始节点 加入触发器 用于标识流程的开始,一个流程只能有一个开始节点。如何创建函数流触发器,请参见创建函数流触发器。 异常处理 *是否重试 默认关闭,开启后可以控制函数执行失败后的下一步流程。
重试条件(JSONPath):例如: $.status == 500
重试间隔(1-30秒):默认重试间隔1S
最大重试次数(1-8):默认重试次数3次循环节点 *遍历数组路径(JSONPath) 需要遍历的数组类型变量地址。 *迭代变量名称 每次循环迭代,引用数组中元素的参数名称。 结果输出路径(JSONPath) 指定全部迭代分支执行结果数组的输出位置。 并发迭代数目 并发运行迭代分支的数目,限制0-100, 0代表并发拉起的数目无限制。 并发迭代时间间隔(秒) 每次迭代间隔的时间。 输入过滤表达式(JSONPath) 基于上一个流程的json输出参数,可以使用JSONPath格式来选择性的过滤出当前流程的输入参数。 输出过滤表达式(JSONPath) 基于当前流程的json输出参数,可以使用JSONPath格式来选择性的过滤出下一流程的输出参数。 时间等待 *延迟时间(秒) 默认1000秒。 服务节点 执行模式 定义服务节点中函数的执行顺序。
串行模式:服务中的函数节点按照连线顺序依次执行,可以严格保证函数的执行顺序
并行模式:服务中的函数节点并行执行,不保证内部函数节点的执行顺序输入过滤表达式 通过JSONPath表达式对节点的输入信息进行过滤。 输出过滤表达式 通过JSONPath表达式对节点的输出信息进行过滤。 条件分支 *分支类型 条件分支
默认分支
当一个分支选择条件分支时,必须要有一个分支选择默认分支。表达式 选择“条件分支”,需要输入JSONPath类型表达式。 输入过滤表达式 通过JSONPath表达式对节点的输入信息进行过滤。 输出过滤表达式 通过JSONPath表达式对节点的输出信息进行过滤。 结束节点 流程结束的标志 后面不能接任何节点。
- 流程中的所有节点参数配置完成后,单击右上角的“保存”。
说明函数流中的节点改动后,必须先保存信息,再启动函数流任务。
- 在新建函数流页面,填写相关信息,单击“确定”,函数流保存成功。
输入配置信息
参数 | 说明 |
---|---|
*名称 | 输入函数流名称。 |
*企业项目 | 选择企业项目。 |
日志记录 | 创建快速函数流,保存时需要选择此参数。 ALL:为所有事件启用日志记录 ERROR:仅启用错误日志记录 NONE:关闭日志记录 |
合并参数 | 将上一个节点的输出与下一个节点的输入合并为输入。 |
描述 | 输入函数流的简要描述。 |
新建标准函数流
- 单击“启动”,在弹出的启动执行页面,支持输入定义值或者直接启动。此处选择“输入定义值”。
{
"input":3
}
启动执行配置
说明输入定义值必须是JSON格式的内容。
- 单击“开始执行”,页面右上角提示“启动函数流xxx成功”。
- 单击函数流任务名称,进入函数流任务详情,查看函数流执行结果。
查看执行结果