
# 获取流程详情 - ShowWorkflow
#### 功能介绍
获取流程详情。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-ai4sservice/ai4sservice_03_0100.html)。
#### URI
GET /v1/{project_id}/eihealth-projects/{eihealth_project_id}/workflows/{workflow_id}
表1路径参数 
| 参数                  | 是否必选 | 参数类型   | 描述                                                                                                                                                                                |
|:---|:---|:---|:---|
| eihealth_project_id | 是    | String | **参数解释**： 空间ID，您可以从[获取空间ID](https://support.huaweicloud.com/api-ai4sservice/ai4sservice_03_0099.html)中获取。 **约束限制**： 不涉及 **取值范围**： 仅支持字母、数字、中划线和下划线，长度为\[1-128\]个字符。 **默认取值**： 不涉及 |
| project_id          | 是    | String | **参数解释**： 项目ID，您可以从[获取项目ID](https://support.huaweicloud.com/api-ai4sservice/ai4sservice_03_0033.html)中获取。 **约束限制**： 不涉及 **取值范围**： 仅支持字母、数字、中划线和下划线，长度为\[1-128\]个字符。 **默认取值**： 不涉及 |
| workflow_id         | 是    | String | **参数解释**： 流程ID。 **约束限制**： 不涉及 **取值范围**： 仅支持字母、数字、中划线和下划线，长度为\[1-128\]个字符。 **默认取值**： 不涉及                                                                                           |
#### 请求参数
表2请求Header参数 
| 参数                | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                   |
|:---|:---|:---|:---|
| Show-Param-Detail | 否    | Boolean | **参数解释**： 是否显示模板参数详情。 **约束限制**： 不涉及 **取值范围**： - true：显示模板参数详情。 - false：不显示模板参数详情。 **默认取值**： false                                                                                                                                                    |
| X-Auth-Token      | 是    | String  | **参数解释**： 用户Token。 Token认证就是在调用API的时候将Token加到请求消息头，从而通过身份认证，获得操作API的权限，[获取Token](https://support.huaweicloud.com/api-ai4sservice/ai4sservice_03_0011.html)接口响应消息头中X-Subject-Token的值即为Token。 **约束限制**： 不涉及 **取值范围**： 长度为\[1-32768\]个字符。 **默认取值**： 不涉及 |
   
#### 响应参数
**状态码：200**
表3响应Body参数 
| 参数                  | 参数类型                                                                            | 描述                                                                                                              |
|:---|:---|:---|
| id                  | String                                                                          | **参数解释**： 流程ID。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及                                                       |
| name                | String                                                                          | **参数解释**： 流程名称。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及                                                       |
| user_name           | String                                                                          | **参数解释**： 创建用户名称。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及                                                     |
| version             | String                                                                          | **参数解释**： 流程版本。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及                                                       |
| summary             | String                                                                          | **参数解释**： 流程简述。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及                                                       |
| description         | String                                                                          | **参数解释**： 流程描述。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及                                                       |
| labels              | Array of strings                                                                | **参数解释**： 流程标签。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及                                                       |
| timeout             | Integer                                                                         | **参数解释**： 超时时间。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及                                                       |
| output_dir          | String                                                                          | **参数解释**： 流程的输出路径。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及                                                    |
| tasks               | Array of [TaskDefinitionDto] objects | **参数解释**： 流程的子任务。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及                                                     |
| app_snapshot_sign   | Map\<String,String\>                                                            | **参数解释**： 流程创建时刻的应用快照，当query填workflow_snapshot_sign有值；K为appId，V为sign。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及 |
| create_time         | String                                                                          | **参数解释**： 流程的创建时间。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及                                                    |
| update_time         | String                                                                          | **参数解释**： 流程的更新时间。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及                                                    |
| source_project_name | String                                                                          | **参数解释**： 源项目名称。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及                                                      |
| source_resource_id  | String                                                                          | **参数解释**： 源资源ID。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及                                                      |
   
 表4TaskDefinitionDto 
| 参数               | 参数类型                                                                          | 描述                                                                                                      |
|:---|:---|:---|
| task_name        | String                                                                        | **参数解释**： 子任务实际名称。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及                                            |
| display_name     | String                                                                        | **参数解释**： 流程的子任务展示名称。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及                                         |
| output_dir       | String                                                                        | **参数解释**： 子任务的输出存放路径。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及                                         |
| whole_output_dir | String                                                                        | **参数解释**： 子任务的完整输出路径，查看流程不会返回，查看作业时才会返回完整输出路径。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及                |
| io_acc_type      | String                                                                        | **参数解释**： 子任务使用的IO加速类型，不填表示不使用。 **约束限制**： 不涉及 **取值范围**： - SFS：SFS-Turbo加速类型 - EVS：EVS加速类型 **默认取值**： 不涉及 |
| resources        | [TaskResourceDto] object             | **参数解释**： 子任务对应资源信息。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及                                          |
| location         | [VertexLocationDto] object         | **参数解释**： 子任务的画布位置信息。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及                                         |
| inputs           | Array of [TaskParameterDto] objects | **参数解释**： 子任务的输入参数信息。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及                                         |
| outputs          | Array of [TaskParameterDto] objects | **参数解释**： 子任务的输出参数信息。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及                                         |
| app_info         | [AppInfoDto] object                       | **参数解释**： 子任务的应用信息。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及                                           |
   
 表5TaskResourceDto 
| 参数       | 参数类型   | 描述                                                                                                                                               |
|:---|:---|:---|
| 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\]，仅支持整数。对于流程和作业，不填默认使用前一级的配置，填值会覆盖更新。覆盖关系：作业-\>流程-\>应用。 **默认取值**： 不涉及                     |
   
 表6VertexLocationDto 
| 参数 | 参数类型   | 描述                                                             |
|:---|:---|:---|
| x  | Double | **参数解释**： 子任务的画布横坐标。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及 |
| y  | Double | **参数解释**： 子任务的画布纵坐标。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及 |
   
 表7TaskParameterDto 
| 参数     | 参数类型             | 描述                                                                                                                             |
|:---|:---|:---|
| name   | String           | **参数解释**： 子任务的参数名称。 **约束限制**： 不涉及 **取值范围**： 长度为\[1,32\]，以小写字母开头，允许出现中划线（-）、小写字母和数字，且必须以小写字母或数字结尾。需要和已有应用的参数名称一致。 **默认取值**： 不涉及 |
| source | String           | **参数解释**： 子任务的参数类型。 **约束限制**： 不涉及 **取值范围**： - MANUAL：手动填写参数。 - DATABASE：数据库来源参数。 **默认取值**： MANUAL                              |
| values | Array of strings | **参数解释**： 子任务的参数数值。 **约束限制**： 最多支持设置128个参数，每个参数长度取值范围\[0,2048\]。 **取值范围**： 不涉及 **默认取值**： 不涉及                                   |
   
 表8AppInfoDto 
| 参数                    | 参数类型                                                                                    | 描述                                                                     |
|:---|:---|:---|
| app_id                | String                                                                                  | **参数解释**： 应用ID。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及              |
| app_name              | String                                                                                  | **参数解释**： 应用名称。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及              |
| app_version           | String                                                                                  | **参数解释**： 应用版本。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及              |
| app_src_project_name  | String                                                                                  | **参数解释**： 应用来源项目名称。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及          |
| app_labels            | Array of strings                                                                        | **参数解释**： 应用标签。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及              |
| app_summary           | String                                                                                  | **参数解释**： 应用简述。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及              |
| app_description       | String                                                                                  | **参数解释**： 应用描述。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及              |
| app_image             | String                                                                                  | **参数解释**： 应用镜像。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及              |
| app_commands          | Array of strings                                                                        | **参数解释**： 任务使用到的应用自带的命令信息。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及   |
| app_input_parameters  | Array of [AppInputParameterDto] objects   | **参数解释**： 任务使用到的应用自带的输入参数信息。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及 |
| app_output_parameters | Array of [AppOutputParameterDto] objects | **参数解释**： 任务使用到的应用自带的输出参数信息。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及 |
| app_node_labels       | Array of strings                                                                        | **参数解释**： 计算节点标签。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及            |
| app_icon              | String                                                                                  | **参数解释**： 图标base64编码。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及        |
   
 表9AppInputParameterDto 
| 参数          | 参数类型             | 描述                                                                                                                                                                                           |
|:---|:---|:---|
| name        | String           | **参数解释**： 参数名称，单个应用内唯一。 **约束限制**： 不涉及 **取值范围**： 长度为\[1,32\]，以小写字母开头，允许出现中划线（-）、小写字母和数字，且必须以小写字母或数字结尾。 **默认取值**： 不涉及                                                                          |
| description | String           | **参数解释**： 参数描述。 **约束限制**： 不涉及 **取值范围**： 取值范围：\[0-255\]。 **默认取值**： 不涉及                                                                                                                        |
| required    | Boolean          | **参数解释**： 参数是否必须。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及                                                                                                                                  |
| concurrent  | String           | **参数解释**： 参数是否开启并发。 **约束限制**： 不涉及 **取值范围**： 当前支持vars_iter并发类型，不填表示未开启并发。 **默认取值**： 不涉及                                                                                                       |
| type        | String           | **参数解释**： 参数类型。 **约束限制**： 不涉及 **取值范围**： - STRING：字符参数类型 - FILE：文件参数类型 - DIRECTORY：目录参数类型 - ENUM：枚举参数类型 **默认取值**： 不涉及                                                                         |
| pattern     | String           | **参数解释**： 提示用户参数填写的格式。 **约束限制**： 不涉及 **取值范围**： 取值范围：\[0-64\]。对于STRING类型，匹配字符串内容，比如后缀约束.fastq；对于ENUM类型，可以提示一定要在param_enum列表范围内取值；对于FILE类型，约束文件后缀类型；对于DIRECTORY类型，提示目录下需要包含哪些文件。 **默认取值**： 不涉及 |
| values      | Array of strings | **参数解释**： 参数取值列表。 **约束限制**： 最多支持128个参数，每个参数取值范围\[0,2048\]。 **取值范围**： 不涉及 **默认取值**： 不涉及                                                                                                       |
| enum        | Array of strings | **参数解释**： 枚举参数的取值列表。 **约束限制**： 参数类型为ENUM时需要填此字段，列表最大长度20，每个参数取值范围\[0,128\]。 **取值范围**： 不涉及 **默认取值**： 不涉及                                                                                      |
   
 表10AppOutputParameterDto 
| 参数          | 参数类型             | 描述                                                                                                                                                                                           |
|:---|:---|:---|
| name        | String           | **参数解释**： 参数名称，单个应用内唯一。 **约束限制**： 不涉及 **取值范围**： 长度为\[1,32\]，以小写字母开头，允许出现中划线（-）、小写字母和数字，且必须以小写字母或数字结尾。 **默认取值**： 不涉及                                                                          |
| description | String           | **参数解释**： 参数描述。 **约束限制**： 不涉及 **取值范围**： 取值范围：\[0-255\]。 **默认取值**： 不涉及                                                                                                                        |
| required    | Boolean          | **参数解释**： 参数是否必须。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及                                                                                                                                  |
| type        | String           | **参数解释**： 参数类型。 **约束限制**： 不涉及 **取值范围**： - STRING：字符参数类型 - FILE：文件参数类型 - DIRECTORY：目录参数类型 - ENUM：枚举参数类型 **默认取值**： 不涉及                                                                         |
| pattern     | String           | **参数解释**： 提示用户参数填写的格式。 **约束限制**： 不涉及 **取值范围**： 取值范围：\[0-64\]。对于STRING类型，匹配字符串内容，比如后缀约束.fastq；对于ENUM类型，可以提示一定要在param_enum列表范围内取值；对于FILE类型，约束文件后缀类型；对于DIRECTORY类型，提示目录下需要包含哪些文件。 **默认取值**： 不涉及 |
| values      | Array of strings | **参数解释**： 参数取值列表。 **约束限制**： 最多支持设置128个参数，每个参数取值范围\[0,2048\]。 **取值范围**： 不涉及 **默认取值**： 不涉及                                                                                                     |
| enum        | Array of strings | **参数解释**： 枚举参数的取值列表。 **约束限制**： 不涉及 **取值范围**： 参数类型为ENUM时需要填此字段，列表最大长度20，每个参数取值范围\[0,128\]。 **默认取值**： 不涉及                                                                                      |
   
#### 请求示例
获取流程详情。
```
https://{endpoint}/v1/{project_id}/eihealth-projects/{eihealth_project_id}/workflows/{workflow_id}
```
#### 响应示例
**状态码：200**
OK
```
{
  "id" : "baabcb56-5bb6-11eb-8a0d-fa163e3ddba1",
  "name" : "demo-workflow",
  "version" : "1.0.0",
  "summary" : "summary",
  "description" : "description",
  "labels" : [ "labelA", "labelB" ],
  "timeout" : 1440,
  "tasks" : [ {
    "task_name" : "app1-1",
    "display_name" : "步骤1",
    "output_dir" : "/task",
    "whole_output_dir" : "/workflow/task",
    "io_acc_type" : "SFS",
    "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/" ]
    } ],
    "app_info" : {
      "app_id" : "baabcb56-5bb6-11eb-8a0d-fa163e3ddba1",
      "app_name" : "demo-app",
      "app_version" : "1.0.0",
      "app_labels" : [ "labelA", "labelB" ],
      "app_summary" : "summary",
      "app_description" : "description",
      "app_image" : "gwj-test-01/busybox:latest",
      "app_commands" : [ "echo eihealth;" ],
      "app_input_parameters" : [ {
        "name" : "dir-parameter",
        "description" : "parameter description",
        "required" : true,
        "type" : "DIRECTORY",
        "pattern" : "*.fastq",
        "values" : [ "test-project:/300M_NA12878_clean_1.fastq" ]
      } ],
      "app_output_parameters" : [ {
        "name" : "dir-parameter",
        "description" : "parameter description",
        "required" : true,
        "type" : "DIRECTORY",
        "pattern" : "*.fastq",
        "values" : [ "test-project:/output-dir/" ]
      } ]
    }
  } ],
  "create_time" : "2021-01-30T02:34:36Z",
  "update_time" : "2021-01-30T02:53:26Z"
}
```
#### 状态码
| 状态码 | 描述 |
|:---|:---|
| 200 | OK |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-ai4sservice/ErrorCode.html)。
