创建函数流任务 本章介绍函数工作流如何创建函数流任务。 本章节主要介绍如何创建函数流任务和编排函数流任务。您可以根据实际业务场景来创建标准函数流或快速函数流。 标准模式面向普通的业务场景,支持长时间任务,支持执行历史持久化和查询,只支持异步调用,在函数流运行记录页面查询执行结果。 快速模式面向业务执行时长较短,需要极致性能的场景,只支持流程执行时长低于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 重试间隔(130秒):默认重试间隔1S 最大重试次数(18):默认重试次数3次 循环节点 遍历数组路径(JSONPath) 需要遍历的数组类型变量地址。 循环节点 迭代变量名称 每次循环迭代,引用数组中元素的参数名称。 循环节点 结果输出路径(JSONPath) 指定全部迭代分支执行结果数组的输出位置。 循环节点 并发迭代数目 并发运行迭代分支的数目,限制0100, 0代表并发拉起的数目无限制。 循环节点 并发迭代时间间隔(秒) 每次迭代间隔的时间。 循环节点 输入过滤表达式(JSONPath) 基于上一个流程的json输出参数,可以使用JSONPath格式来选择性的过滤出当前流程的输入参数。 循环节点 输出过滤表达式(JSONPath) 基于当前流程的json输出参数,可以使用JSONPath格式来选择性的过滤出下一流程的输出参数。 时间等待 延迟时间(秒) 默认1000秒。 服务节点 执行模式 定义服务节点中函数的执行顺序。 串行模式:服务中的函数节点按照连线顺序依次执行,可以严格保证函数的执行顺序 并行模式:服务中的函数节点并行执行,不保证内部函数节点的执行顺序 服务节点 输入过滤表达式 通过JSONPath表达式对节点的输入信息进行过滤。 服务节点 输出过滤表达式 通过JSONPath表达式对节点的输出信息进行过滤。 条件分支 分支类型 条件分支 默认分支 当一个分支选择条件分支时,必须要有一个分支选择默认分支。 条件分支 表达式 选择“条件分支”,需要输入JSONPath类型表达式。 条件分支 输入过滤表达式 通过JSONPath表达式对节点的输入信息进行过滤。 条件分支 输出过滤表达式 通过JSONPath表达式对节点的输出信息进行过滤。 结束节点 流程结束的标志 后面不能接任何节点。 流程中的所有节点参数配置完成后,单击右上角的“保存”。 说明 函数流中的节点改动后,必须先保存信息,再启动函数流任务。 在新建函数流页面,填写相关信息,单击“确定”,函数流保存成功。 输入配置信息 参数 说明 名称 输入函数流名称。 企业项目 选择企业项目。 日志记录 创建快速函数流,保存时需要选择此参数。 ALL:为所有事件启用日志记录 ERROR:仅启用错误日志记录 NONE:关闭日志记录 合并参数 将上一个节点的输出与下一个节点的输入合并为输入。 描述 输入函数流的简要描述。 新建标准函数流 单击“启动”,在弹出的启动执行页面,支持输入定义值或者直接启动。此处选择“输入定义值”。 { "input":3 } 启动执行配置 说明 输入定义值必须是JSON格式的内容。 单击“开始执行”,页面右上角提示“启动函数流xxx成功”。 单击函数流任务名称,进入函数流任务详情,查看函数流执行结果。 查看执行结果