更新时间:2025-12-23 GMT+08:00
分享

更新流程 - UpdateWorkflow

功能介绍

更新流程。

授权信息

账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限,具体权限要求请参见权限和授权项。

URI

PUT /v1/{project_id}/eihealth-projects/{eihealth_project_id}/workflows/{workflow_id}

表1 路径参数

参数

是否必选

参数类型

描述

eihealth_project_id

是

String

参数解释:

空间ID,您可以从获取空间ID中获取。

约束限制:

不涉及

取值范围:

仅支持字母、数字、中划线和下划线,长度为[1-128]个字符。

默认取值:

不涉及

project_id

是

String

参数解释:

项目ID,您可以从获取项目ID中获取。

约束限制:

不涉及

取值范围:

仅支持字母、数字、中划线和下划线,长度为[1-128]个字符。

默认取值:

不涉及

workflow_id

是

String

参数解释:

流程ID。

约束限制:

不涉及

取值范围:

仅支持字母、数字、中划线和下划线,长度为[1-128]个字符。

默认取值:

不涉及

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

是

String

参数解释:

用户Token。

Token认证就是在调用API的时候将Token加到请求消息头,从而通过身份认证,获得操作API的权限,获取Token接口响应消息头中X-Subject-Token的值即为Token。

约束限制:

不涉及

取值范围:

长度为[1-32768]个字符。

默认取值:

不涉及

表3 请求Body参数

参数

是否必选

参数类型

描述

name

是

String

参数解释:

流程名称。

约束限制:

更新流程时,流程名称不支持修改。

取值范围:

取值范围[1,56],允许大小写字母、数字、以及特殊字符中划线(-)。

默认取值:

不涉及

version

是

String

参数解释:

流程版本。

约束限制:

更新流程时,流程版本不支持修改。

取值范围:

取值范围[1,24],以小写字母或数字或大写字母开头,允许出现中划线,必须以小写字母或数字或大写字母结尾。

默认取值:

不涉及

summary

否

String

参数解释:

流程简述。

约束限制:

不涉及

取值范围:

取值范围[0,128]。

默认取值:

不涉及

description

否

String

参数解释:

流程描述。

约束限制:

不涉及

取值范围:

取值范围[0,65535],后续支持markdown文本。

默认取值:

不涉及

labels

否

Array of strings

参数解释:

流程标签。

约束限制:

取值范围[0,5],单个标签最大长度32字符,支持中文、字母、数字、空格、下划线和中划线,且不能以空格开头或者结尾。

取值范围:

不涉及

默认取值:

不涉及

timeout

否

Integer

参数解释:

流程超时时间。

约束限制:

不涉及

取值范围:

取值范围[1,144000],单位分钟,默认1440。

默认取值:

不涉及

output_dir

否

String

参数解释:

流程的当前工作目录。

约束限制:

不涉及

取值范围:

默认为根目录,用户可显式指定;输出路径必须以斜杠(/)开头且不能以斜杠(/)结尾,不能包含两个以上相邻的斜杠(/),不能包含以下特殊字符:\ : ; * ? < " > | 。其中单个文件夹名称不能以中划线(-)开头,不能以英文句号(.)或斜杠(/)或空格开头或结尾。

默认取值:

不涉及

tasks

否

Array of TaskDto objects

参数解释:

流程中子任务的描述信息。

约束限制:

子任务数量取值范围:[0,64]。

取值范围:

不涉及

默认取值:

不涉及

表4 TaskDto

参数

是否必选

参数类型

描述

task_name

是

String

参数解释:

子任务实际名称。

约束限制:

不涉及

取值范围:

取值范围[1,32],只能以大小写字母开头,由大小写字母、数字、中划线(-)、下划线(_)组成,以大小写字符或数字结尾。

默认取值:

不涉及

app_id

是

String

参数解释:

应用ID。

约束限制:

不涉及

取值范围:

取值范围[1,135],正则限制不能有中文;支持如下两种格式。特殊ID,采用{app_name}::{app_version}::{src_project_name}格式,用于手动创建场景;其他场景,app_id为系统分配的唯一标识。

默认取值:

不涉及

display_name

否

String

参数解释:

流程的子任务展示名称。

约束限制:

不涉及

取值范围:

取值范围[0,64]。

默认取值:

不涉及

output_dir

否

String

参数解释:

子任务的输出存放路径。

约束限制:

不涉及

取值范围:

长度[0,128]。

默认取值:

不涉及

resources

否

TaskResourceDto object

参数解释:

应用申请资源。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

location

否

VertexLocationDto object

参数解释:

子任务的画布坐标。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

inputs

否

Array of TaskParameterDto objects

参数解释:

任务的输入参数信息。

约束限制:

最多支持128个参数。

取值范围:

不涉及

默认取值:

不涉及

outputs

否

Array of TaskParameterDto objects

参数解释:

任务的输出参数信息。

约束限制:

最多支持128个参数。

取值范围:

不涉及

默认取值:

不涉及

表5 TaskResourceDto

参数

是否必选

参数类型

描述

cpu

否

String

参数解释:

cpu申请使用量。

约束限制:

不涉及

取值范围:

取值范围[0.1-128],单位C,支持一位小数。对于应用,不填默认1C;对于流程和作业,不填默认使用前一级的配置,填值会覆盖更新。覆盖关系:作业->流程->应用。

默认取值:

不涉及

cpu_type

否

String

参数解释:

cpu架构类型。

约束限制:

不涉及

取值范围:

取值范围,支持X86|ARM。

默认取值:

X86。

memory

否

String

参数解释:

内存申请使用量。

约束限制:

不涉及

取值范围:

取值范围[0.1-3072],单位G,支持一位小数。对于应用,不填默认1G;对于流程和作业,不填默认使用前一级的配置,填值会覆盖更新。覆盖关系:作业->流程->应用。

默认取值:

不涉及

gpu_type

否

String

参数解释:

gpu架构类型。

约束限制:

不涉及

取值范围:

gpu架构类型,支持GPU|Snt9。对于流程和作业,不填默认使用前一级的配置,填值会覆盖更新。覆盖关系:作业->流程->应用。

默认取值:

不涉及

gpu

否

String

参数解释:

gpu申请使用量。

约束限制:

不涉及

取值范围:

取值范围[0-16],仅支持整数。对于流程和作业,不填默认使用前一级的配置,填值会覆盖更新。覆盖关系:作业->流程->应用。

默认取值:

不涉及

表6 VertexLocationDto

参数

是否必选

参数类型

描述

x

否

Double

参数解释:

子任务的画布横坐标。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

y

否

Double

参数解释:

子任务的画布纵坐标。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表7 TaskParameterDto

参数

是否必选

参数类型

描述

name

是

String

参数解释:

子任务的参数名称。

约束限制:

不涉及

取值范围:

长度为[1,32],以小写字母开头,允许出现中划线(-)、小写字母和数字,且必须以小写字母或数字结尾。需要和已有应用的参数名称一致。

默认取值:

不涉及

source

否

String

参数解释:

子任务的参数类型。

约束限制:

不涉及

取值范围:

  • MANUAL:手动填写参数。

  • DATABASE:数据库来源参数。

默认取值:

MANUAL

values

否

Array of strings

参数解释:

子任务的参数数值。

约束限制:

最多支持设置128个参数,每个参数长度取值范围[0,2048]。

取值范围:

不涉及

默认取值:

不涉及

响应参数

状态码:200

OK

无

请求示例

更新流程,更新流程的cpu资源为1C,内存资源为1G。

https://{endpoint}/v1/{project_id}/eihealth-projects/{eihealth_project_id}/workflows

{
  "name" : "demo-workflow",
  "version" : "1.0.0",
  "summary" : "summary",
  "description" : "description",
  "labels" : [ "labelA", "labelB" ],
  "timeout" : 1440,
  "tasks" : [ {
    "task_name" : "app1-1",
    "app_id" : "baabcb56-5bb6-11eb-8a0d-fa163e3ddba1",
    "display_name" : "步骤1",
    "output_dir" : "/task",
    "resources" : {
      "cpu_type" : "X86",
      "cpu" : "1C",
      "memory" : "1G",
      "gpu_type" : "GPU",
      "gpu" : 0
    },
    "location" : {
      "x" : 100,
      "y" : 100
    },
    "inputs" : [ {
      "name" : "dir-parameter",
      "values" : [ "test-project:/300M_NA12878_clean_1.fastq" ]
    } ],
    "outputs" : [ {
      "name" : "dir-parameter",
      "values" : [ "test-project:/output-dir/" ]
    } ]
  } ]
}

响应示例

无

状态码

状态码

描述

200

OK

错误码

请参见错误码。

相关文档