修改Workflow工作流 - UpdateWorkflow
功能介绍
修改Workflow工作流接口用于更新已存在的工作流定义。
该接口适用于以下场景:当用户需要根据业务变化调整工作流的配置时,可以通过此接口修改工作流的名称、描述、步骤顺序、条件逻辑等。修改成功后,系统将返回更新后的工作流详细信息。若工作流不存在或用户无权限操作,接口将返回相应的错误信息。
接口约束
无
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
授权信息
账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权,具体权限要求请参见权限和授权项。
- 如果使用身份策略授权,需具备如下身份策略权限。
授权项
访问级别
资源类型(*为必须)
条件键
别名
依赖的授权项
modelarts:workflow:update
Write
workflow *
-
-
-
URI
PUT /v2/{project_id}/workflows/{workflow_id}
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| project_id | 是 | String | 参数解释:用户项目ID。获取方法请参见获取项目ID和名称。 约束限制:1 - 64字符,字母、数字和中划线。 取值范围:不涉及。 默认取值:不涉及。 |
| workflow_id | 是 | String | 参数解释:工作流的ID。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
请求参数
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| 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 | 参数解释:工作流节点。 约束限制:不涉及。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| name | 是 | String | 参数解释:训练数据的名称。 约束限制:长度为1-64位,仅包含英文、数字、下划线(_)和中划线(-),并且以英文开头的名称。 取值范围:不涉及。 默认取值:不涉及。 |
| type | 是 | String | 参数解释:数据来源类型。 约束限制:不涉及。 取值范围:枚举值如下: 默认取值:不涉及。 |
| conditions | 否 | Array of Constraint objects | 参数解释:数据约束条件。 约束限制:不涉及。 |
| value | 否 | Map<String,Object> | 参数解释:数据的值。 约束限制:不涉及。 |
| used_steps | 否 | Array of strings | 参数解释:使用了这条数据的工作流节点。 约束限制:不涉及。 |
| delay | 否 | Boolean | 参数解释:延时参数标记。 约束限制:不涉及。 取值范围: 默认取值:不涉及。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| attribute | 否 | String | 参数解释:条件属性,参数的某个字段值。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
| operator | 否 | String | 参数解释:操作。 约束限制:当前只支持equal操作。 取值范围:不涉及。 默认取值:不涉及。 |
| value | 否 | Object | 参数解释:取值。 约束限制:不涉及。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| name | 否 | String | 参数解释:Workflow工作流配置参数的名称。 约束限制:长度为1-64位,仅包含英文、数字、下划线(_)和中划线(-),并且以英文开头的名称。 取值范围:不涉及。 默认取值:不涉及。 |
| type | 否 | String | 参数解释:参数的类型。 约束限制:不涉及。 取值范围:枚举值如下: 默认取值:不涉及。 |
| description | 否 | String | 参数解释:Workflow工作流配置参数的描述。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
| example | 否 | Object | 参数解释:Workflow工作流配置参数的样例。 约束限制:不涉及。 |
| delay | 否 | Boolean | 参数解释:是否为延迟输入的参数。 约束限制:不涉及。 取值范围: 默认取值:默认为否。 |
| default | 否 | Object | 参数解释:配置参数的默认值。 约束限制:不涉及。 |
| value | 否 | Object | 参数解释:参数值。 约束限制:不涉及。 |
| enum | 否 | Array of objects | 参数解释:Workflow工作流配置参数的枚举项。 约束限制:不涉及。 |
| used_steps | 否 | Array of strings | 参数解释:使用这个参数的工作流节点。 约束限制:不涉及。 |
| format | 否 | String | 参数解释:数据格式。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
| constraint | 否 | Map<String,Object> | 参数解释:限制条件。 约束限制:不涉及。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| name | 否 | String | 参数解释:工作流存储的名称。 约束限制:长度为1-64位,只包含英文、数字、下划线(_)和中划线(-),并且以英文开头的名称。 取值范围:不涉及。 默认取值:不涉及。 |
| type | 否 | String | 参数解释:工作流存储的类型,当前只支持obs。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
| path | 否 | String | 参数解释:统一存储的根路径,当前只支持OBS路径。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| name | 是 | String | 参数解释:Workflow工作流节点的名称,在一个DAG中唯一。 约束限制:长度为1到64位,只包含中英文,数字,空格,下划线(_)和中划线(-),并且以中英文开头。 取值范围:不涉及。 默认取值:不涉及。 |
| type | 否 | String | 参数解释:节点的类型。 约束限制:不涉及。 取值范围:枚举值如下: 默认取值:不涉及。 |
| 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 | 参数解释:节点执行策略。 约束限制:不涉及。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| name | 否 | String | 参数解释:输入数据的名称。 约束限制:长度支持1到64位,只包含英文、数字、下划线(_)和中划线(-)的字符。 取值范围:不涉及。 默认取值:不涉及。 |
| type | 否 | String | 参数解释:输入项类型。 约束限制:不涉及。 取值范围:枚举值如下: 默认取值:不涉及。 |
| data | 否 | Object | 参数解释:输入项数据。 约束限制:不涉及。 |
| value | 否 | Object | 参数解释:输入项的值。 约束限制:不涉及。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| name | 否 | String | 参数解释:输出数据的名称。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
| type | 否 | String | 参数解释:输出项类型。 约束限制:不涉及。 取值范围:枚举值如下: 默认取值:不涉及。 |
| config | 否 | Map<String,Object> | 参数解释:输出配置。 约束限制:不涉及。 |
响应参数
状态码:200
| 参数 | 参数类型 | 描述 |
|---|---|---|
| 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 | 参数解释:来自市场订阅的Workflow。 | |
| latest_execution | ExecutionBriefResp object | 参数解释:最后一次执行工作流的概要信息。 |
| run_count | Integer | 参数解释:工作流的已运行次数。 取值范围:不涉及。 |
| param_ready | Boolean | 参数解释:当前工作流的必选参数是否都已填完。 取值范围: |
| source | String | 参数解释:工作流来源。 取值范围:可选值为: |
| 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消息订阅开关。 取值范围: |
| smn_switch | Boolean | 参数解释:SMN开关。 取值范围: |
| subscription_id | String | 参数解释:SMN消息订阅ID。 取值范围:不涉及。 |
| exeml_template_id | String | 参数解释:自动学习模板ID。 取值范围:不涉及。 |
| last_modified_at | String | 参数解释:最近一次修改的时间。 取值范围:不涉及。 |
| package | WorkflowServicePackegeResp object | 参数解释:计费工作流订阅包信息。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| name | String | 参数解释:Workflow工作流节点的名称,在一个DAG中唯一。 取值范围:不涉及。 |
| type | String | 参数解释:节点的类型。 取值范围:枚举值如下: |
| 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 | 参数解释:节点执行策略。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| name | String | 参数解释:输入数据的名称。 取值范围:不涉及。 |
| type | String | 参数解释:输入项类型。 取值范围:枚举值如下: |
| data | Object | 参数解释:输入项数据。 |
| value | Object | 参数解释:输入项的值。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| name | String | 参数解释:输出数据的名称。 取值范围:不涉及。 |
| type | String | 参数解释:输出项类型。 取值范围:枚举值如下: |
| config | Map<String,Object> | 参数解释:输出配置。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| type | String | 参数解释:判断类型,例如==(等于)、!=(不等于)、>(大于)、>=(大于等于)、<(小于)、<=(小于等于)、in(包含)、or(或)。 取值范围:不涉及。 |
| left | Object | 参数解释:节点执行条件为true时的分支。 |
| right | Object | 参数解释:节点执行条件为false时的分支。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| poll_interval_seconds | String | 参数解释:节点执行间隔。 取值范围:不涉及。 |
| max_execution_minutes | String | 参数解释:最大执行时间。 取值范围:不涉及。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| name | String | 参数解释:训练数据的名称。 取值范围:不涉及。 |
| type | String | 参数解释:数据来源类型。 取值范围:枚举值如下: |
| conditions | Array of ConstraintResp objects | 参数解释:数据约束条件。 |
| value | Map<String,Object> | 参数解释:数据的值。 |
| used_steps | Array of strings | 参数解释:使用了这条数据的工作流节点。 |
| delay | Boolean | 参数解释:延时参数标记。 取值范围: |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| attribute | String | 参数解释:条件属性,参数的某个字段值。 取值范围:不涉及。 |
| operator | String | 参数解释:操作。 取值范围:不涉及。 |
| value | Object | 参数解释:取值。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| name | String | 参数解释:训练数据的名称。 取值范围:不涉及。 |
| type | String | 参数解释:数据来源的类型。 取值范围:枚举值如下: |
| value | Map<String,Object> | 参数解释:数据的值。 |
| used_steps | Array of strings | 参数解释:使用数据的节点。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| name | String | 参数解释:Workflow工作流配置参数的名称。 取值范围:不涉及。 |
| type | String | 参数解释:参数的类型。 取值范围:枚举值如下: |
| description | String | 参数解释:Workflow工作流配置参数的描述。 取值范围:不涉及。 |
| example | Object | 参数解释:Workflow工作流配置参数的样例。 |
| delay | Boolean | 参数解释:是否为延迟输入的参数。 取值范围: |
| default | Object | 参数解释:配置参数的默认值。 |
| value | Object | 参数解释:参数值。 |
| enum | Array of objects | 参数解释:Workflow工作流配置参数的枚举项。 |
| used_steps | Array of strings | 参数解释:使用这个参数的工作流节点。 |
| format | String | 参数解释:数据格式。 取值范围:不涉及。 |
| constraint | Map<String,Object> | 参数解释:限制条件。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| content_id | String | 参数解释:资产ID。 取值范围:不涉及。 |
| version_id | String | 参数解释:版本ID。 取值范围:不涉及。 |
| expired_at | String | 参数解释:超期时间。 取值范围:不涉及。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| execution_id | String | 参数解释:工作流执行ID,获取方法请参见查询工作流执行记录列表。 取值范围:不涉及。 |
| created_at | String | 参数解释:工作流执行的创建时间。 取值范围:不涉及。 |
| status | String | 参数解释:工作流状态。 取值范围:枚举值: |
| running_steps | Array of strings | 参数解释:运行的节点。 |
| current_steps | Array of strings | 参数解释:当前节点。 |
| duration | Long | 参数解释:运行时长。 取值范围:不涉及。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| name | String | 参数解释:工作流存储的名称。 取值范围:不涉及。 |
| type | String | 参数解释:工作流存储的类型,当前只支持obs。 取值范围:不涉及。 |
| path | String | 参数解释:统一存储的根路径,当前只支持OBS路径。 取值范围:不涉及。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| name | String | 参数解释:资产名称。 取值范围:不涉及。 |
| type | String | 参数解释:资产类型。 取值范围:枚举如下: |
| content_id | String | 参数解释:资产ID,可在AI Gallery中获取。 取值范围:不涉及。 |
| subscription_id | String | 参数解释:订阅ID,可在AI Gallery中获取。 取值范围:不涉及。 |
| expired_at | String | 参数解释:超期时间。 取值范围:不涉及。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| name | String | 参数解释:子图名称。 取值范围:不涉及。 |
| steps | Array of strings | 参数解释:子图step成员。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| use_scene | String | 参数解释:使用场景。 取值范围:不涉及。 |
| scene_id | String | 参数解释:场景ID。 取值范围:不涉及。 |
| scenes | Array of SceneResp objects | 参数解释:场景。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| id | String | 参数解释:场景ID。 取值范围:不涉及。 |
| name | String | 参数解释:场景名称。 取值范围:不涉及。 |
| steps | Array of strings | 参数解释:节点列表。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| 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 | 参数解释:限制标记。 取值范围: |
| created_at | String | 参数解释:创建时间。 取值范围:不涉及。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| id | String | 参数解释:订阅ID。 取值范围:不涉及。 |
| sku | SkuInfoResp object | 参数解释:订阅计费信息。 |
| sku_count | String | 参数解释:订阅计数。 取值范围:不涉及。 |
请求示例
更新工作流信息
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 |
错误码
请参见错误码。