# PUT /api/machinelearning/workflowupdate ================================================================================ 上传工作流 ## 参数 +--------------------------------+--------+----------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 名称 | 类型 | 是否必传 | 备注 | +--------------------------------+--------+----------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | current_userid | int | Y | 当前登录用户ID | | nodes | array | Y | 工作流节点list | | nodes.#.id | int | Y | 节点id,可以不用显示,用于前端回传。Integer自增,前端从100开始新增,每增加一个工作流节点,id为新节点分配自增1的ID标识,当旧的节点被删除时,新节点ID分配不受影响,仍从该工作流中的Max(action_id)开始自增;其中start、end、fail(globle)节点的id为1,2,3不可修改 | | nodes.#.name | string | Y | 节点名称,该action_name即后端存储并标识的name,不再单独设立中文名称,整个workflow中每个节点的name必须唯一,命名规范请参考备注 | | nodes.#.type | int | Y | 节点类型,1-start ; 2-end ; 3-fail ; 4-fork ; 5-join ; 6-decision ; 7-spark ; 8-mapreduce ; 9-shell ; 10-hive 待补充完善 | | nodes.#.comment | string | Y | 节点描述 | | nodes.#.resource_id | int | Y | 节点绑定的资源ID | | nodes.#.prepare | array | Y | 预处理信息list | | nodes.#.prepare.#.pname | string | Y | 节点预处理名称,暂时可选mkdir、delete | | nodes.#.prepare.#.pvalue | string | Y | 节点预处理路径,hdfs路径字符串 | | nodes.#.configuration | array | Y | 配置信息list | | nodes.#.configuration.#.cname | array | Y | 节点配置名称,由用户输入,即使不符合规定,也可以保存workflow,在执行workflow的时候再进行报错 | | nodes.#.configuration.#.cvalue | array | Y | 节点配置值,由用户输入,即使不符合规定,也可以保存workflow,在执行workflow的时候再进行报错 | | nodes.#.property | array | Y | 属性信息list | | nodes.#.property.#.proname | array | Y | 节点属性名称,由用户输入,即使不符合规定,也可以保存workflow,在执行workflow的时候再进行报错 | | nodes.#.property.#.provalue | array | Y | 节点属性值,由用户输入,即使不符合规定,也可以保存workflow,在执行workflow的时候再进行报错 | | nodes.#.failto | string | Y | 节点失败跳转fail节点名称 | | nodes.#.out_ports | array | Y | 节点连线out端口集合,int数组 | | nodes.#.in_ports | array | Y | 节点连线in端口集合,int数组 | | nodes.#.pos_x | string | Y | 工作流节点位置坐标x | | nodes.#.pos_y | string | Y | 工作流节点位置坐标y | | edges | array | Y | 工作流边集合,包含src_node_id、src_output_idx、dst_node_id、dst_input_idx、id | +--------------------------------+--------+----------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ ## 返回 --------------- | 名称 | 类型 | 是否必传 | 备注 | | ----------- | ---- | -------- | ------------ | | workflow_id | int | Y | 当前工作流ID | **备注** (不满足以下条件,不允许提交) ------------------------------------------ 1. 一个workflow必包含start,end,fail三个节点,start,end,fail为关键词,每个工作流必包含一个,且start、end有且仅有一个; #. 一个workflow除去start,end,fail三个节点,至少包含1个节点,最多包含50个; #. 工作流DAG图,不允许成环; #. nodes.\#.configuration中每个action按对应类型传各自参数,所有参数均非必传; #. nodes.\#.action_name命名规范:以字母开头,由3-20位数字,字母,下划线组成,字母不区分大小写;正则表达式参考::code:`reg = /[0-9a-zA-Z_]{3,20}/;`