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

查询Workflow工作流

功能介绍

查询Workflow工作流接口用于查看系统中特定的工作流定义。

该接口适用于以下场景:当用户需要查看和管理已定义的工作流时,可以通过此接口查询工作流的详细信息,包括名称、描述、步骤等。使用该接口的前提条件是用户具有查看权限。查询结果将根据用户提供的过滤条件返回。若用户无权限操作或输入参数不合法,接口将返回相应的错误信息。

接口约束

调试

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

URI

GET /v2/{project_id}/workflows/{workflow_id}

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

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

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

取值范围:不涉及。

默认取值:不涉及。

workflow_id

String

参数解释:工作流的ID。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

表2 Query参数

参数

是否必选

参数类型

描述

workspace_id

String

参数解释:工作空间ID。

约束限制:获取方法请参见查询工作空间列表。未创建工作空间时默认值为“0”,存在创建并使用的工作空间,以实际取值为准。

取值范围:不涉及。

默认取值:不涉及。

请求参数

响应参数

状态码:200

表3 响应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

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

表4 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

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

表5 JobInputResp

参数

参数类型

描述

name

String

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

取值范围:不涉及。

type

String

参数解释:输入项类型。

取值范围:枚举值如下:

  • dataset:数据集

  • obs:OBS

  • data_selector:数据选择

data

Object

参数解释:输入项数据。

value

Object

参数解释:输入项的值。

表6 JobOutputResp

参数

参数类型

描述

name

String

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

取值范围:不涉及。

type

String

参数解释:输出项类型。

取值范围:枚举值如下:

  • obs:OBS

  • model:AI应用元模型

config

Map<String,Object>

参数解释:输出配置。

表7 StepConditionResp

参数

参数类型

描述

type

String

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

取值范围:不涉及。

left

Object

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

right

Object

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

表8 WorkflowStepPolicyResp

参数

参数类型

描述

poll_interval_seconds

String

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

取值范围:不涉及。

max_execution_minutes

String

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

取值范围:不涉及。

表9 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:不延时

表10 ConstraintResp

参数

参数类型

描述

attribute

String

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

取值范围:不涉及。

operator

String

参数解释:操作。

取值范围:不涉及。

value

Object

参数解释:取值。

表11 DataResp

参数

参数类型

描述

name

String

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

取值范围:不涉及。

type

String

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

取值范围:不涉及。

value

Map<String,Object>

参数解释:数据的值。

used_steps

Array of strings

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

表12 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>

参数解释:限制条件。

表13 WorkflowGallerySubscriptionResp

参数

参数类型

描述

content_id

String

参数解释:资产ID。

取值范围:不涉及。

version_id

String

参数解释:版本ID。

取值范围:不涉及。

expired_at

String

参数解释:超期时间。

取值范围:不涉及。

表14 ExecutionBriefResp

参数

参数类型

描述

execution_id

String

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

取值范围:不涉及。

created_at

String

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

取值范围:不涉及。

status

String

参数解释:工作流状态。

取值范围:不涉及。

running_steps

Array of strings

参数解释:运行的节点。

current_steps

Array of strings

参数解释:当前节点。

duration

Long

参数解释:运行时长。

取值范围:不涉及。

表15 WorkflowStorageResp

参数

参数类型

描述

name

String

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

取值范围:不涉及。

type

String

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

取值范围:不涉及。

path

String

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

取值范围:不涉及。

表16 WorkflowAssetResp

参数

参数类型

描述

name

String

参数解释:资产名称。

取值范围:不涉及。

type

String

参数解释:资产类型。

取值范围:枚举如下:

  • algorithm:算法

  • algorithm2:新算法

  • model:模型算法

content_id

String

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

取值范围:不涉及。

subscription_id

String

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

取值范围:不涉及。

expired_at

String

参数解释:超期时间。

取值范围:不涉及。

表17 WorkflowSubgraphResp

参数

参数类型

描述

name

String

参数解释:子图名称。

取值范围:不涉及。

steps

Array of strings

参数解释:子图step成员。

表18 WorkflowPolicyResp

参数

参数类型

描述

use_scene

String

参数解释:使用场景。

取值范围:不涉及。

scene_id

String

参数解释:场景ID。

取值范围:不涉及。

scenes

Array of SceneResp objects

参数解释:场景。

表19 SceneResp

参数

参数类型

描述

id

String

参数解释:场景ID。

取值范围:不涉及。

name

String

参数解释:场景名称。

取值范围:不涉及。

steps

Array of strings

参数解释:节点列表。

表20 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

参数解释:创建时间。

取值范围:不涉及。

表21 WorkflowPoolOrderResp

参数

参数类型

描述

id

String

参数解释:订阅ID。

取值范围:不涉及。

sku

SkuInfoResp object

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

sku_count

String

参数解释:订阅计数。

取值范围:不涉及。

表22 SkuInfoResp

参数

参数类型

描述

code

String

参数解释:计费码。

取值范围:不涉及。

period

String

参数解释:计费时期。

取值范围:不涉及。

queries_limit

Long

参数解释:查询次数。

取值范围:不涉及。

price

Float

参数解释:价格。

取值范围:不涉及。

请求示例

GET https://{endpoint}/v2/{project_id}/workflows/{workflow_id}

响应示例

状态码:200

OK

{
  "created_at" : "2022-09-09T11:28:29.639658+08:00",
  "workflow_id" : "6b596c75-fe1f-440b-be83-fe5e240133c4",
  "name" : "graph-test-has-condition-step",
  "description" : "",
  "user_name" : "zuoping",
  "workspace_id" : "0",
  "steps" : [ {
    "created_at" : "2022-09-09T11:28:29.6438+08:00",
    "name" : "condition_step_test",
    "title" : "condition_step_test",
    "description" : "",
    "type" : "condition",
    "conditions" : [ {
      "type" : "==",
      "left" : "$ref/parameters/is_true",
      "right" : true
    } ],
    "if_then_steps" : [ "training_job1" ],
    "else_then_steps" : [ "training_job2" ],
    "policy" : { }
  }, {
    "created_at" : "2022-09-09T11:28:29.646244+08:00",
    "name" : "training_job1",
    "title" : "labeling",
    "description" : "",
    "type" : "job",
    "inputs" : [ {
      "name" : "data_url",
      "type" : "obs",
      "data" : "$ref/data/a2ff296da618452daa8243399f06db8e"
    } ],
    "outputs" : [ {
      "name" : "train_url",
      "type" : "obs",
      "config" : {
        "obs_url" : "/test-lh/test-metrics/"
      }
    }, {
      "name" : "service-link",
      "type" : "service_content",
      "config" : {
        "config_file" : "$ref/parameters/service_config1"
      }
    } ],
    "properties" : {
      "algorithm" : {
        "id" : "21ef85a8-5e40-4618-95ee-aa48ec224b43",
        "parameters" : [ ]
      },
      "kind" : "job",
      "metadata" : {
        "name" : "workflow-b0b9fa4c06254b2ebb0e48ba1f7a916c"
      },
      "spec" : {
        "resource" : {
          "flavor_id" : "$ref/parameters/train_spec",
          "node_count" : 1,
          "policy" : "regular"
        }
      }
    },
    "depend_steps" : [ "condition_step_test" ],
    "policy" : { }
  }, {
    "created_at" : "2022-09-09T11:28:29.648868+08:00",
    "name" : "training_job2",
    "title" : "labeling",
    "description" : "",
    "type" : "job",
    "inputs" : [ {
      "name" : "data_url",
      "type" : "obs",
      "data" : "$ref/data/f78e46676a454ccdacb9907f589f8d67"
    } ],
    "outputs" : [ {
      "name" : "train_url",
      "type" : "obs",
      "config" : {
        "obs_url" : "/test-lh/test-metrics/"
      }
    }, {
      "name" : "service-link",
      "type" : "service_content",
      "config" : {
        "config_file" : "$ref/parameters/service_config2"
      }
    } ],
    "properties" : {
      "algorithm" : {
        "id" : "21ef85a8-5e40-4618-95ee-aa48ec224b43",
        "parameters" : [ ]
      },
      "kind" : "job",
      "metadata" : {
        "name" : "workflow-4a4317eb49ad4370bd087e6b726d84cf"
      },
      "spec" : {
        "resource" : {
          "flavor_id" : "$ref/parameters/train_spec",
          "node_count" : 1,
          "policy" : "regular"
        }
      }
    },
    "depend_steps" : [ "condition_step_test" ],
    "policy" : { }
  }, {
    "created_at" : "2022-09-09T11:28:29.649982+08:00",
    "name" : "training_job3",
    "title" : "labeling",
    "description" : "",
    "type" : "job",
    "inputs" : [ {
      "name" : "data_url",
      "type" : "obs",
      "data" : "$ref/data/dee65054c96b4bf3b7ac98c0709f9ae0"
    } ],
    "outputs" : [ {
      "name" : "train_url",
      "type" : "obs",
      "config" : {
        "obs_url" : "/test-lh/test-metrics/"
      }
    }, {
      "name" : "service-link",
      "type" : "service_content",
      "config" : {
        "config_file" : "$ref/parameters/service_config3"
      }
    } ],
    "properties" : {
      "algorithm" : {
        "id" : "21ef85a8-5e40-4618-95ee-aa48ec224b43",
        "parameters" : [ ]
      },
      "kind" : "job",
      "metadata" : {
        "name" : "workflow-3039303b3ae14f3e9eed416ba6361b1f"
      },
      "spec" : {
        "resource" : {
          "flavor_id" : "$ref/parameters/train_spec",
          "node_count" : 1,
          "policy" : "regular"
        }
      }
    },
    "depend_steps" : [ "training_job1", "training_job2" ],
    "policy" : { }
  } ],
  "labels" : [ "subgraph" ],
  "data" : [ {
    "name" : "a2ff296da618452daa8243399f06db8e",
    "type" : "obs",
    "value" : {
      "obs_url" : "/test-lh/test-metrics/"
    },
    "used_steps" : [ "training_job1" ]
  }, {
    "name" : "f78e46676a454ccdacb9907f589f8d67",
    "type" : "obs",
    "value" : {
      "obs_url" : "/test-lh/test-metrics/"
    },
    "used_steps" : [ "training_job2" ]
  }, {
    "name" : "dee65054c96b4bf3b7ac98c0709f9ae0",
    "type" : "obs",
    "value" : {
      "obs_url" : "/test-lh/test-metrics/"
    },
    "used_steps" : [ "training_job3" ]
  } ],
  "parameters" : [ {
    "name" : "is_true",
    "type" : "bool",
    "delay" : true,
    "value" : true,
    "used_steps" : [ "condition_step_test" ]
  }, {
    "name" : "train_spec",
    "type" : "str",
    "format" : "flavor",
    "description" : "training specification",
    "default" : "modelarts.vm.cpu.8u",
    "used_steps" : [ "training_job1", "training_job2", "training_job3" ]
  }, {
    "name" : "service_config1",
    "type" : "str",
    "default" : "/test-lh/test-metrics/metrics.json",
    "used_steps" : [ "training_job1" ]
  }, {
    "name" : "service_config2",
    "type" : "str",
    "default" : "/test-lh/test-metrics/metrics.json",
    "used_steps" : [ "training_job2" ]
  }, {
    "name" : "service_config3",
    "type" : "str",
    "default" : "/test-lh/test-metrics/metrics.json",
    "used_steps" : [ "training_job3" ]
  } ],
  "sub_graphs" : [ {
    "name" : "stage_A",
    "steps" : [ "training_job1", "training_job2" ]
  } ],
  "policy" : { },
  "last_modified_at" : "2022-10-28T16:49:13.056726+08:00",
  "source_workflow_id" : "05427e9d-42ac-4816-bd45-360c1bfd780b",
  "latest_execution" : {
    "execution_id" : "43e317e2-34b0-4348-9c1b-08d3083512e1",
    "created_at" : "2022-10-28T16:49:03.894771+08:00",
    "status" : "completed",
    "duration" : 209
  },
  "run_count" : 2,
  "param_ready" : true
}

状态码

状态码

描述

200

OK

错误码

请参见错误码

相关文档