更新时间:2025-07-28 GMT+08:00
分享

修改Workflow工作流

功能介绍

修改Workflow工作流接口用于更新已存在的工作流定义。

该接口适用于以下场景:当用户需要根据业务变化调整工作流的配置时,可以通过此接口修改工作流的名称、描述、步骤顺序、条件逻辑等。修改成功后,系统将返回更新后的工作流详细信息。若工作流不存在或用户无权限操作,接口将返回相应的错误信息。

接口约束

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

URI

PUT /v2/{project_id}/workflows/{workflow_id}

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

参数解释:用户项目ID。获取方法请参见获取项目ID和名称

约束限制:1 - 64字符,字母、数字和中划线。

取值范围:不涉及。

默认取值:不涉及。

workflow_id

String

参数解释:工作流的ID。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

请求参数

表2 请求Body参数

参数

是否必选

参数类型

描述

name

String

参数解释:工作流名称。

约束限制:长度为1-64位,仅包含英文、数字、下划线(_)和中划线(-),并且以英文开头的名称。

取值范围:不涉及。

默认取值:不涉及。

description

String

参数解释:工作流描述。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

data_requirements

Array of DataRequirement objects

参数解释:Workflow包含的数据输入项定义。

约束限制:不涉及。

parameters

Array of WorkflowParameter objects

参数解释:工作流参数。

约束限制:不涉及。

storages

Array of WorkflowStorage objects

参数解释:工作流存储信息。

约束限制:不涉及。

labels

Array of strings

参数解释:工作流标签。

约束限制:不涉及。

smn_switch

String

参数解释:SMN消息订阅开关。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

steps

Array of WorkflowStep objects

参数解释:工作流节点。

约束限制:不涉及。

表3 DataRequirement

参数

是否必选

参数类型

描述

name

String

参数解释:训练数据的名称。

约束限制:长度为1-64位,仅包含英文、数字、下划线(_)和中划线(-),并且以英文开头的名称。

取值范围:不涉及。

默认取值:不涉及。

type

String

参数解释:数据来源类型。

约束限制:不涉及。

取值范围:枚举值如下:

  • dataset:数据集

  • obs:OBS

  • swr:SWR

  • model_list:AI应用列表

  • label_task:标注任务

  • service:在线服务

默认取值:不涉及。

conditions

Array of Constraint objects

参数解释:数据约束条件。

约束限制:不涉及。

value

Map<String,Object>

参数解释:数据的值。

约束限制:不涉及。

used_steps

Array of strings

参数解释:使用了这条数据的工作流节点。

约束限制:不涉及。

delay

Boolean

参数解释:延时参数标记。

约束限制:不涉及。

取值范围

  • true:延时

  • false:不延时

默认取值:不涉及。

表4 Constraint

参数

是否必选

参数类型

描述

attribute

String

参数解释:条件属性,参数的某个字段值。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

operator

String

参数解释:操作。

约束限制:当前只支持equal操作。

取值范围:不涉及。

默认取值:不涉及。

value

Object

参数解释:取值。

约束限制:不涉及。

表5 WorkflowParameter

参数

是否必选

参数类型

描述

name

String

参数解释:Workflow工作流配置参数的名称。

约束限制:长度为1-64位,仅包含英文、数字、下划线(_)和中划线(-),并且以英文开头的名称。

取值范围:不涉及。

默认取值:不涉及。

type

String

参数解释:参数的类型。

约束限制:不涉及。

取值范围:枚举值如下:

  • str:字符串

  • int:整型

  • bool:布尔类型

  • float:浮点型

默认取值:不涉及。

description

String

参数解释:Workflow工作流配置参数的描述。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

example

Object

参数解释:Workflow工作流配置参数的样例。

约束限制:不涉及。

delay

Boolean

参数解释:是否为延迟输入的参数。

约束限制:不涉及。

取值范围

  • true:是

  • false:否

默认取值:默认为否。

default

Object

参数解释:配置参数的默认值。

约束限制:不涉及。

value

Object

参数解释:参数值。

约束限制:不涉及。

enum

Array of objects

参数解释:Workflow工作流配置参数的枚举项。

约束限制:不涉及。

used_steps

Array of strings

参数解释:使用这个参数的工作流节点。

约束限制:不涉及。

format

String

参数解释:数据格式。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

constraint

Map<String,Object>

参数解释:限制条件。

约束限制:不涉及。

表6 WorkflowStorage

参数

是否必选

参数类型

描述

name

String

参数解释:工作流存储的名称。

约束限制:长度为1-64位,只包含英文、数字、下划线(_)和中划线(-),并且以英文开头的名称。

取值范围:不涉及。

默认取值:不涉及。

type

String

参数解释:工作流存储的类型,当前只支持obs。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

path

String

参数解释:统一存储的根路径,当前只支持OBS路径。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

表7 WorkflowStep

参数

是否必选

参数类型

描述

name

String

参数解释:Workflow工作流节点的名称,在一个DAG中唯一。

约束限制:长度为1到64位,只包含中英文,数字,空格,下划线(_)和中划线(-),并且以中英文开头。

取值范围:不涉及。

默认取值:不涉及。

type

String

参数解释:节点的类型。

约束限制:不涉及。

取值范围:枚举值如下:

  • job:训练

  • labeling:标注

  • release_dataset:数据集发布

  • model:模型发布

  • service:服务部署

  • mrs_job:MRS作业

  • dataset_import:数据集导入

  • create_dataset:创建数据集

默认取值:不涉及。

inputs

Array of JobInput objects

参数解释:节点的输入项。

约束限制:不涉及。

outputs

Array of JobOutput objects

参数解释:节点的输出项。

约束限制:不涉及。

created_at

String

参数解释:节点的创建时间。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

title

String

参数解释:工作流节点标题。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

description

String

参数解释:节点的描述信息。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

properties

Map<String,Object>

参数解释:节点属性。

约束限制:不涉及。

depend_steps

Array of strings

参数解释:运行依赖的前置节点。

约束限制:不涉及。

conditions

Array of StepCondition objects

参数解释:节点执行条件。

约束限制:不涉及。

if_then_steps

Array of strings

参数解释:条件节点分支。

约束限制:不涉及。

else_then_steps

Array of strings

参数解释:条件节点另一分支。

约束限制:不涉及。

policy

WorkflowStepPolicy object

参数解释:节点执行策略。

约束限制:不涉及。

表8 JobInput

参数

是否必选

参数类型

描述

name

String

参数解释:输入数据的名称。

约束限制:长度支持1到64位,只包含英文、数字、下划线(_)和中划线(-)的字符。

取值范围:不涉及。

默认取值:不涉及。

type

String

参数解释:输入项类型。

约束限制:不涉及。

取值范围:枚举值如下:

  • dataset:数据集

  • obs:OBS

  • data_selector:数据选择

默认取值:不涉及。

data

Object

参数解释:输入项数据。

约束限制:不涉及。

value

Object

参数解释:输入项的值。

约束限制:不涉及。

表9 JobOutput

参数

是否必选

参数类型

描述

name

String

参数解释:输出数据的名称。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

type

String

参数解释:输出项类型。

约束限制:不涉及。

取值范围:枚举值如下:

  • obs:OBS

  • model:AI应用元模型

默认取值:不涉及。

config

Map<String,Object>

参数解释:输出配置。

约束限制:不涉及。

表10 StepCondition

参数

是否必选

参数类型

描述

type

String

参数解释:判断类型,例如==(等于)、!=(不等于)、>(大于)、>=(大于等于)、<(小于)、<=(小于等于)、in(包含)、or(或)。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

left

Object

参数解释:节点执行条件为true时的分支。

约束限制:不涉及。

right

Object

参数解释:节点执行条件为false时的分支。

约束限制:不涉及。

表11 WorkflowStepPolicy

参数

是否必选

参数类型

描述

poll_interval_seconds

String

参数解释:节点执行间隔。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

max_execution_minutes

String

参数解释:最大执行时间。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

响应参数

状态码:200

表12 响应Body参数

参数

参数类型

描述

name

String

参数解释:Workflow工作流名称。

取值范围:不涉及。

workflow_id

String

参数解释:Workflow工作流ID。创建工作流时后台自动生成。

取值范围:不涉及。

created_at

String

参数解释:Workflow工作流的创建时间。

取值范围:不涉及。

description

String

参数解释:Workflow工作流的描述信息。

取值范围:不涉及。

steps

Array of WorkflowStepResp objects

参数解释:Workflow工作流包含的步骤定义。

user_name

String

参数解释:创建Workflow工作流的用户名。

取值范围:不涉及。

workspace_id

String

参数解释:工作空间ID。获取方法请参见查询工作空间列表

取值范围:不涉及。

data_requirements

Array of DataRequirementResp objects

参数解释:Workflow需要的数据。

data

Array of DataResp objects

参数解释:Workflow包含的数据。

parameters

Array of WorkflowParameterResp objects

参数解释:Workflow包含的参数。

source_workflow_id

String

参数解释:从指定Workflow工作流进行复制。通过复制来创建Workflow时必填。

取值范围:不涉及。

gallery_subscription

WorkflowGallerySubscriptionResp object

参数解释:来自市场订阅的Workflow。

latest_execution

ExecutionBriefResp object

参数解释:最后一次执行工作流的概要信息。

run_count

Integer

参数解释:工作流的已运行次数。

取值范围:不涉及。

param_ready

Boolean

参数解释:当前工作流的必选参数是否都已填完。

取值范围

  • true:已填完

  • false:未填完

source

String

参数解释:工作流来源。

取值范围:可选值为:

  • ai_gallery:表示工作流是从AI Gallery导入的

storages

Array of WorkflowStorageResp objects

参数解释:Workflow包含的统一存储定义。

labels

Array of strings

参数解释:为Workflow工作流设置的标签。

assets

Array of WorkflowAssetResp objects

参数解释:工作流绑定的资产。

sub_graphs

Array of WorkflowSubgraphResp objects

参数解释:工作流包含的子图。

extend

Map<String,Object>

参数解释:计费工作流使用的拓展字段。

policy

WorkflowPolicyResp object

参数解释:工作流部分运行策略。

with_subscription

Boolean

参数解释:工作流SMN消息订阅开关。

取值范围

  • true:打开

  • false:关闭

smn_switch

Boolean

参数解释:SMN开关。

取值范围

  • true:打开

  • false:关闭

subscription_id

String

参数解释:SMN消息订阅ID。

取值范围:不涉及。

exeml_template_id

String

参数解释:自动学习模板ID。

取值范围:不涉及。

last_modified_at

String

参数解释:最近一次修改的时间。

取值范围:不涉及。

package

WorkflowServicePackegeResp object

参数解释:计费工作流订阅包信息。

表13 WorkflowStepResp

参数

参数类型

描述

name

String

参数解释:Workflow工作流节点的名称,在一个DAG中唯一。

取值范围:不涉及。

type

String

参数解释:节点的类型。

取值范围:枚举值如下:

  • job:训练

  • labeling:标注

  • release_dataset:数据集发布

  • model:模型发布

  • service:服务部署

  • mrs_job:MRS作业

  • dataset_import:数据集导入

  • create_dataset:创建数据集

inputs

Array of JobInputResp objects

参数解释:节点的输入项。

outputs

Array of JobOutputResp objects

参数解释:节点的输出项。

created_at

String

参数解释:节点的创建时间。

取值范围:不涉及。

title

String

参数解释:工作流节点标题。

取值范围:不涉及。

description

String

参数解释:节点的描述信息。

取值范围:不涉及。

properties

Map<String,Object>

参数解释:节点属性。

depend_steps

Array of strings

参数解释:运行依赖的前置节点。

conditions

Array of StepConditionResp objects

参数解释:节点执行条件。

if_then_steps

Array of strings

参数解释:条件节点分支。

else_then_steps

Array of strings

参数解释:条件节点另一分支。

policy

WorkflowStepPolicyResp object

参数解释:节点执行策略。

表14 JobInputResp

参数

参数类型

描述

name

String

参数解释:输入数据的名称。

取值范围:不涉及。

type

String

参数解释:输入项类型。

取值范围:枚举值如下:

  • dataset:数据集

  • obs:OBS

  • data_selector:数据选择

data

Object

参数解释:输入项数据。

value

Object

参数解释:输入项的值。

表15 JobOutputResp

参数

参数类型

描述

name

String

参数解释:输出数据的名称。

取值范围:不涉及。

type

String

参数解释:输出项类型。

取值范围:枚举值如下:

  • obs:OBS

  • model:AI应用元模型

config

Map<String,Object>

参数解释:输出配置。

表16 StepConditionResp

参数

参数类型

描述

type

String

参数解释:判断类型,例如==(等于)、!=(不等于)、>(大于)、>=(大于等于)、<(小于)、<=(小于等于)、in(包含)、or(或)。

取值范围:不涉及。

left

Object

参数解释:节点执行条件为true时的分支。

right

Object

参数解释:节点执行条件为false时的分支。

表17 WorkflowStepPolicyResp

参数

参数类型

描述

poll_interval_seconds

String

参数解释:节点执行间隔。

取值范围:不涉及。

max_execution_minutes

String

参数解释:最大执行时间。

取值范围:不涉及。

表18 DataRequirementResp

参数

参数类型

描述

name

String

参数解释:训练数据的名称。

取值范围:不涉及。

type

String

参数解释:数据来源类型。

取值范围:枚举值如下:

  • dataset:数据集

  • obs:OBS

  • swr:SWR

  • model_list:AI应用列表

  • label_task:标注任务

  • service:在线服务

conditions

Array of ConstraintResp objects

参数解释:数据约束条件。

value

Map<String,Object>

参数解释:数据的值。

used_steps

Array of strings

参数解释:使用了这条数据的工作流节点。

delay

Boolean

参数解释:延时参数标记。

取值范围

  • true:延时

  • false:不延时

表19 ConstraintResp

参数

参数类型

描述

attribute

String

参数解释:条件属性,参数的某个字段值。

取值范围:不涉及。

operator

String

参数解释:操作。

取值范围:不涉及。

value

Object

参数解释:取值。

表20 DataResp

参数

参数类型

描述

name

String

参数解释:训练数据的名称。

取值范围:不涉及。

type

String

参数解释:数据来源的类型,可选值为dataset、obs、swr、model、label_task、service、image。

取值范围:不涉及。

value

Map<String,Object>

参数解释:数据的值。

used_steps

Array of strings

参数解释:使用数据的节点。

表21 WorkflowParameterResp

参数

参数类型

描述

name

String

参数解释:Workflow工作流配置参数的名称。

取值范围:不涉及。

type

String

参数解释:参数的类型。

取值范围:枚举值如下:

  • str:字符串

  • int:整型

  • bool:布尔类型

  • float:浮点型

description

String

参数解释:Workflow工作流配置参数的描述。

取值范围:不涉及。

example

Object

参数解释:Workflow工作流配置参数的样例。

delay

Boolean

参数解释:是否为延迟输入的参数。

取值范围

  • true:是

  • false:否

default

Object

参数解释:配置参数的默认值。

value

Object

参数解释:参数值。

enum

Array of objects

参数解释:Workflow工作流配置参数的枚举项。

used_steps

Array of strings

参数解释:使用这个参数的工作流节点。

format

String

参数解释:数据格式。

取值范围:不涉及。

constraint

Map<String,Object>

参数解释:限制条件。

表22 WorkflowGallerySubscriptionResp

参数

参数类型

描述

content_id

String

参数解释:资产ID。

取值范围:不涉及。

version_id

String

参数解释:版本ID。

取值范围:不涉及。

expired_at

String

参数解释:超期时间。

取值范围:不涉及。

表23 ExecutionBriefResp

参数

参数类型

描述

execution_id

String

参数解释:工作流执行ID,获取方法请参见查询工作流执行记录列表。。

取值范围:不涉及。

created_at

String

参数解释:工作流执行的创建时间。

取值范围:不涉及。

status

String

参数解释:工作流状态。

取值范围:不涉及。

running_steps

Array of strings

参数解释:运行的节点。

current_steps

Array of strings

参数解释:当前节点。

duration

Long

参数解释:运行时长。

取值范围:不涉及。

表24 WorkflowStorageResp

参数

参数类型

描述

name

String

参数解释:工作流存储的名称。

取值范围:不涉及。

type

String

参数解释:工作流存储的类型,当前只支持obs。

取值范围:不涉及。

path

String

参数解释:统一存储的根路径,当前只支持OBS路径。

取值范围:不涉及。

表25 WorkflowAssetResp

参数

参数类型

描述

name

String

参数解释:资产名称。

取值范围:不涉及。

type

String

参数解释:资产类型。

取值范围:枚举如下:

  • algorithm:算法

  • algorithm2:新算法

  • model:模型算法

content_id

String

参数解释:资产ID,可在AI Gallery中获取。

取值范围:不涉及。

subscription_id

String

参数解释:订阅ID,可在AI Gallery中获取。

取值范围:不涉及。

expired_at

String

参数解释:超期时间。

取值范围:不涉及。

表26 WorkflowSubgraphResp

参数

参数类型

描述

name

String

参数解释:子图名称。

取值范围:不涉及。

steps

Array of strings

参数解释:子图step成员。

表27 WorkflowPolicyResp

参数

参数类型

描述

use_scene

String

参数解释:使用场景。

取值范围:不涉及。

scene_id

String

参数解释:场景ID。

取值范围:不涉及。

scenes

Array of SceneResp objects

参数解释:场景。

表28 SceneResp

参数

参数类型

描述

id

String

参数解释:场景ID。

取值范围:不涉及。

name

String

参数解释:场景名称。

取值范围:不涉及。

steps

Array of strings

参数解释:节点列表。

表29 WorkflowServicePackegeResp

参数

参数类型

描述

package_id

String

参数解释:资源包的UUID。

取值范围:不涉及。

status

String

参数解释:资源包状态。

取值范围:不涉及。

pool_id

String

参数解释:资源池ID。

取值范围:不涉及。

service_id

String

参数解释:服务ID。

取值范围:不涉及。

workflow_id

String

参数解释:Workflow工作流ID。

取值范围:不涉及。

order

WorkflowPoolOrderResp object

参数解释:订阅信息。

consume_limit

Long

参数解释:订阅限制。

取值范围:不涉及。

current_consume

Long

参数解释:当前订阅。

取值范围:不涉及。

current_date

String

参数解释:当前时间。

取值范围:不涉及。

limit_enable

Boolean

参数解释:限制标记。

取值范围

  • true:限制

  • false:不限制

created_at

String

参数解释:创建时间。

取值范围:不涉及。

表30 WorkflowPoolOrderResp

参数

参数类型

描述

id

String

参数解释:订阅ID。

取值范围:不涉及。

sku

SkuInfoResp object

参数解释:订阅计费信息。

sku_count

String

参数解释:订阅计数。

取值范围:不涉及。

表31 SkuInfoResp

参数

参数类型

描述

code

String

参数解释:计费码。

取值范围:不涉及。

period

String

参数解释:计费时期。

取值范围:不涉及。

queries_limit

Long

参数解释:查询次数。

取值范围:不涉及。

price

Float

参数解释:价格。

取值范围:不涉及。

请求示例

更新工作流信息

PUT https://{endpoint}/v2/{project_id}/workflows/a8f31367-3534-4644-a2fe-75d187341ae7

{
  "parameters" : [ {
    "name" : "schedule_1zHw",
    "type" : "int",
    "format" : "schedule",
    "description" : "Set how long the deployed service will stop in hours, where -1 means the service will always run",
    "delay" : true,
    "used_steps" : [ "service_step" ]
  } ],
  "smn_switch" : true
}

响应示例

状态码:200

OK

{
  "created_at" : "2021-12-14T11:34:24.541809+08:00",
  "workflow_id" : "a8f31367-3534-4644-a2fe-75d187341ae7",
  "name" : "demo_workflow",
  "description" : "this is a demo workflow",
  "user_name" : "ei_modelarts_z00424192_01",
  "workspace_id" : "0",
  "steps" : [ {
    "created_at" : "2021-12-14T11:34:24.545451+08:00",
    "name" : "model_step",
    "title" : "model release",
    "description" : "",
    "type" : "model",
    "inputs" : [ {
      "name" : "model_input",
      "type" : "obs",
      "data" : "$ref/data_requirements/model_input"
    } ],
    "outputs" : [ {
      "name" : "model_output",
      "type" : "model"
    } ],
    "properties" : {
      "model_name" : "model-name-xh",
      "model_type" : "TensorFlow"
    },
    "policy" : { }
  }, {
    "created_at" : "2021-12-14T11:34:24.549514+08:00",
    "name" : "service_step",
    "title" : "service install",
    "description" : "",
    "type" : "service",
    "inputs" : [ {
      "name" : "service_input",
      "type" : "model_list",
      "data" : "$ref/data_requirements/service_model"
    } ],
    "outputs" : [ {
      "name" : "service_output",
      "type" : "service"
    } ],
    "properties" : {
      "infer_type" : "real-time",
      "schedule" : "$ref/parameters/schedule_d0MY"
    },
    "depend_steps" : [ "model_step" ],
    "policy" : { }
  } ],
  "data_requirements" : [ {
    "name" : "model_input",
    "type" : "obs",
    "conditions" : [ {
      "attribute" : "object_type",
      "operator" : "equal",
      "value" : "directory"
    } ],
    "value" : {
      "object_type" : [ "DIRECTORY" ],
      "obs_url" : "/cwf-test/csv/"
    },
    "used_steps" : [ "model_step" ]
  }, {
    "name" : "service_model",
    "type" : "model_list",
    "delay" : true,
    "conditions" : [ {
      "attribute" : "model_name",
      "operator" : "equal",
      "value" : "model-name-xh"
    } ],
    "used_steps" : [ "service_step" ]
  } ],
  "parameters" : [ {
    "name" : "schedule_1zHw",
    "type" : "int",
    "format" : "schedule",
    "description" : "Set how long the deployed service will stop in hours, where -1 means the service will always run",
    "delay" : true,
    "used_steps" : [ "service_step" ]
  } ],
  "policy" : { },
  "last_modified_at" : "2022-05-20T14:16:40.373445+08:00"
}

状态码

状态码

描述

200

OK

错误码

请参见错误码

相关文档