修改Workflow工作流 - UpdateWorkflow
功能介绍
修改Workflow工作流接口用于更新已存在的工作流定义。
该接口适用于以下场景:当用户需要根据业务变化调整工作流的配置时,可以通过此接口修改工作流的名称、描述、步骤顺序、条件逻辑等。修改成功后,系统将返回更新后的工作流详细信息。若工作流不存在或用户无权限操作,接口将返回相应的错误信息。
接口约束
无
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。获取该接口关联的CLI示例: hcloud ModelArts UpdateWorkflow。
授权信息
账号具备所有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 |
错误码
请参见错误码。