
# 获取作业详情
#### 功能介绍
获取作业详情
#### URI
GET /v1/{project_id}/eihealth-projects/{eihealth_project_id}/jobs/{job_id}
表1路径参数 
| 参数                  | 是否必选 | 参数类型   | 描述                                                                                                                                                                        |
|:---|:---|:---|:---|
| eihealth_project_id | 是    | String | 平台项目ID，您可以在平台单击所需的项目名称，进入项目设置页面查看。 最小长度：**1** 最大长度：**128**                                                          |
| job_id              | 是    | String | 作业id 最小长度：**1** 最大长度：**128**                                                                                        |
| project_id          | 是    | String | 华为云项目ID，您可以从[获取项目ID](https://support.huaweicloud.com/api-eihealth/eihealth_33_0044.html)中获取。 最小长度：**1** 最大长度：**128** |
   
#### 请求参数
表2请求Header参数 
| 参数              | 是否必选 | 参数类型   | 描述                                                                                                                                                                         |
|:---|:---|:---|:---|
| X-Auth-Token    | 是    | String | 用户Token。Token认证就是在调用API的时候将Token加到请求消息头，从而通过身份认证，获得操作API的权限，[获取Token](https://support.huaweicloud.com/api-eihealth/eihealth_33_0010.html)接口响应消息头中X-Subject-Token的值即为Token。 |
| X-Addition-Info | 否    | String | 设置为LOG时，返回作业日志链接                                                                                                                                                           |
   
#### 响应参数
**状态码： 200**
表3响应Body参数 
| 参数                    | 参数类型                                                                       | 描述                                                |
|:---|:---|:---|
| id                    | String                                                                     | 作业id                                              |
| name                  | String                                                                     | 作业的名称                                             |
| description           | String                                                                     | 作业的描述                                             |
| labels                | Array of strings                                                           | 作业标签                                              |
| priority              | Integer                                                                    | 作业的优先级                                            |
| timeout               | Integer                                                                    | 作业执行超时时长                                          |
| output_dir            | String                                                                     | 压扁后的效果，即job运行的实际配置                                |
| status                | String                                                                     | 作业运行状态                                            |
| create_time           | String                                                                     | 作业创建时间                                            |
| finish_time           | String                                                                     | 作业完成时间                                            |
| failed_message        | String                                                                     | 作业运行失败描述信息，当作业执行失败时会返回                            |
| failed_reason         | String                                                                     | 作业运行失败原因，当作业执行失败时会返回                              |
| tool_info             | [ToolInfoDto] object                       | 流程信息                                              |
| tasks                 | Array of [TaskDefinitionDto] objects | 基于替换规则压扁后的效果，即job运行的实际配置                          |
| task_runtime_info     | Array of [TaskRuntimeDto] objects       | 作业子步骤的运行信息                                        |
| dag                   | Map\<String,Map\<String,String\>\>                                         | 作业子步骤的依赖关系                                        |
| io_acc_expected_usage | Integer                                                                    | 作业使用的SFS-Turbo实例预期占用存储量，单位G，用于投递作业时评估当前加速实例余量是否充足 |
| io_acc_info           | [IoAccInfoDto] object                     | 作业的描述                                             |
| node_labels           | Array of strings                                                           | 计算节点标签                                            |
| still_running_tasks   | Array of strings                                                           | 仍在运行中的子任务                                         |
   
 表4ToolInfoDto 
| 参数           | 参数类型   | 描述                          |
|:---|:---|:---|
| tool_id      | String | 作业依赖的组件id                   |
| tool_name    | String | 作业依赖的组件名称                   |
| tool_version | String | 作业依赖的组件版本                   |
| tool_type    | String | 作业依赖的组件类型，取值范围app\|workflow |
   
 表5TaskDefinitionDto 
| 参数               | 参数类型                                                                     | 描述                                  |
|:---|:---|:---|
| task_name        | String                                                                   | 子任务实际名称                             |
| display_name     | String                                                                   | 流程的子任务展示名称                          |
| output_dir       | String                                                                   | 子任务的输出存放路径                          |
| whole_output_dir | String                                                                   | 子任务的完整输出路径，查看流程不会返回，查看作业时才会返回完整输出路径 |
| io_acc_type      | String                                                                   | 子任务使用的IO加速类型，不填表示不使用；               |
| resources        | [TaskResourceDto] object             | 子任务对应资源信息                           |
| location         | [VertexLocationDto] object         | 子任务的画布位置信息                          |
| inputs           | Array of [TaskParameterDto] objects | 子任务的输入参数信息                          |
| app_info         | [AppInfoDto] object                       | 子任务的应用信息                            |
   
 表6TaskResourceDto 
| 参数       | 参数类型   | 描述                                                                                                                                                                                         |
|:---|:---|:---|
| cpu      | String | cpu申请使用量，取值范围\[0.1-128\]，单位C，支持一位小数。对于应用，不填默认1C；对于流程和作业，不填默认使用前一级的配置，填值会覆盖更新。覆盖关系：作业-\>流程-\>应用 最小长度：**0** 最大长度：**24**                 |
| cpu_type | String | cpu架构类型，不填默认X86 最小长度：**0** 最大长度：**24**                                                                                                   |
| memory   | String | 内存申请使用量，取值范围\[0.1-3072\]，单位G，支持一位小数。对于应用，不填默认1G；对于流程和作业，不填默认使用前一级的配置，填值会覆盖更新。覆盖关系：作业-\>流程-\>应用 最小长度：**0** 最大长度：**24**               |
| gpu_type | String | gpu架构类型，取值范围 ' '\|GPU\|Snt9\|D310。对于流程和作业，不填默认使用前一级的配置，填值会覆盖更新。覆盖关系：作业-\>流程-\>应用 最小长度：**0** 最大长度：**24**                              |
| gpu      | String | gpu申请使用量，取值范围\[0-16\]，仅支持整数，Snt9有特殊约束，申请数量需要是0,1,2,4,8。对于应用，不填默认0；对于流程和作业，不填默认使用前一级的配置，填值会覆盖更新。覆盖关系：作业-\>流程-\>应用 最小长度：**0** 最大长度：**24** |
   
 表7VertexLocationDto 
| 参数 | 参数类型   | 描述        |
|:---|:---|:---|
| x  | Double | 子任务的画布横坐标 |
| y  | Double | 子任务的画布纵坐标 |
   
 表8TaskParameterDto 
| 参数     | 参数类型             | 描述                                                                                                                                                      |
|:---|:---|:---|
| name   | String           | 子任务的参数名称，长度为\[1,32\]，以小写字母开头，允许出现中划线(-)、小写字母和数字，且必须以小写字母或数字结尾。需要和已有应用的参数名称一致。 最小长度：**1** 最大长度：**32** |
| source | String           | 子任务的参数类型，不填默认MANUAL                                                                                                                                     |
| values | Array of strings | 子任务的参数数值，根据参数类型进行合法性校验 最小长度：**0** 最大长度：**2048** 数组长度：**0 - 128**             |
   
 表9AppInfoDto 
| 参数                    | 参数类型                                                                               | 描述                |
|:---|:---|:---|
| 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编码        |
   
 表10AppInputParameterDto 
| 参数          | 参数类型             | 描述                                                                                                                                                                                                                  |
|:---|:---|:---|
| name        | String           | 参数名称，单个应用内唯一。取值范围：长度为\[1,32\]，以小写字母开头，允许出现中划线(-)、小写字母和数字，且必须以小写字母或数字结尾。 最小长度：**1** 最大长度：**32**                                                                      |
| description | String           | 参数描述。取值范围：\[0-255\] 最小长度：**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类型，提示目录下需要包含哪些文件； 最小长度：**0** 最大长度：**64** |
| values      | Array of strings | 参数取值 如填写，只支持填一项，根据参数类型进行不同的校验 数组长度：**0 - 128**                                                                                                                                            |
| enum        | Array of strings | 枚举参数的取值列表，列表最大长度20，每一项字符串最长128。参数类型为ENUM时需要填此字段 最小长度：**0** 最大长度：**128** 数组长度：**0 - 20**                                                 |
   
 表11AppOutputParameterDto 
| 参数          | 参数类型             | 描述                                                                                                                                                                                                                   |
|:---|:---|:---|
| name        | String           | 参数名称，单个应用内唯一。取值范围：长度为\[1,32\]，以小写字母开头，允许出现中划线(-)、小写字母和数字，且必须以小写字母或数字结尾。 最小长度：**1** 最大长度：**32**                                                                     |
| description | String           | 参数描述。取值范围：\[0-255\] 最小长度：**0** 最大长度：**255**                                                                                                                        |
| required    | Boolean          | 参数是否必须                                                                                                                                                                                                               |
| type        | String           | 参数类型。取值：\[STRING，FILE，DIRECTORY，ENUM\]                                                                                                                                                                               |
| pattern     | String           | 提示用户参数填写的格式，取值范围：\[0-64\]。对于STRING类型，匹配字符串内容，比如后缀约束.fastq；对于ENUM类型，可以提示一定要在param_enum列表范围内取值；对于FILE类型，约束文件后缀类型；对于DIRECTORY类型，提示目录下需要包含哪些文件； 最小长度：**0** 最大长度：**64** |
| values      | Array of strings | 参数取值 如填写，只支持填一项，根据参数类型进行不同的校验 数组长度：**0 - 128**                                                                                                                                              |
| enum        | Array of strings | 枚举参数的取值列表，列表最大长度20，每一项字符串最长128。参数类型为ENUM时需要填此字段 最小长度：**0** 最大长度：**128** 数组长度：**0 - 20**                                                  |
   
 表12TaskRuntimeDto 
| 参数                  | 参数类型                                                                       | 描述           |
|:---|:---|:---|
| task_name           | String                                                                     | 作业子任务名称      |
| create_time         | String                                                                     | 作业子任务运行创建时间  |
| finish_time         | String                                                                     | 作业子任务运行结束时间  |
| actual_running_time | Integer                                                                    | 作业子任务实际运行时间  |
| status              | String                                                                     | 作业子任务运行状态    |
| sub_tasks           | Array of [SubTaskRuntimeDto] objects | 作业子任务的并发实例列表 |
   
 表13SubTaskRuntimeDto 
| 参数                  | 参数类型    | 描述               |
|:---|:---|:---|
| sub_task_name       | String  | 作业子任务的并发实例名称     |
| create_time         | String  | 作业子任务的并发实例运行创建时间 |
| finish_time         | String  | 作业子任务的并发实例运行结束时间 |
| actual_running_time | Integer | 作业子任务的并发实例实际运行时间 |
| status              | String  | 作业子任务的并发实例运行状态   |
| log_storage_link    | String  | 作业日志存储链接         |
| pod_create_time     | String  | task的pod创建时间     |
| pod_start_time      | String  | task的pod启动时间     |
| job_failed_times    | Integer | task的cce job失败次数 |
   
 表14IoAccInfoDto 
| 参数         | 参数类型    | 描述         |
|:---|:---|:---|
| id         | String  | io加速实例id   |
| type       | String  | io加速实例类型   |
| space      | Integer | io加速实例总容量  |
| free_space | Double  | io加速实例空闲容量 |
   
#### 请求示例
无
#### 响应示例
**状态码： 200**
OK
```
{
  "id" : "baabcb56-5bb6-11eb-8a0d-fa163e3ddba1",
  "name" : "demo-job",
  "description" : "description",
  "labels" : [ "labelA", "labelB" ],
  "priority" : 0,
  "timeout" : 1440,
  "output_dir" : "/job/task",
  "status" : "SUCCEEDED",
  "create_time" : "2021-01-30T02:53:26Z",
  "finish_time" : "2021-01-30T02:53:26Z",
  "tool_info" : {
    "tool_id" : "baabcb56-5bb6-11eb-8a0d-fa163e3ddba1",
    "tool_name" : "demo-workflow",
    "tool_version" : "1.0.0",
    "tool_type" : "workflow"
  },
  "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" ]
    } ],
    "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" ],
        "enum" : [ "/test" ]
      } ],
      "app_output_parameters" : [ {
        "name" : "dir-parameter",
        "description" : "parameter description",
        "required" : true,
        "type" : "DIRECTORY",
        "pattern" : "*.fastq",
        "values" : [ "/test" ]
      } ]
    }
  } ],
  "task_runtime_info" : [ {
    "task_name" : "app1-1",
    "create_time" : "2021-01-30T02:53:26Z",
    "finish_time" : "2021-01-30T02:53:26Z",
    "actual_running_time" : 100,
    "status" : "SUCCEEDED",
    "sub_tasks" : [ {
      "sub_task_name" : "app1-1-0",
      "create_time" : "2021-01-30T02:53:26Z",
      "finish_time" : "2021-01-30T02:53:26Z",
      "actual_running_time" : 100,
      "status" : "SUCCEEDED",
      "pod_create_time" : "2021-01-30T02:53:26Z",
      "pod_start_time" : "2021-01-30T02:53:26Z",
      "job_failed_times" : 0
    } ]
  } ],
  "dag" : {
    "app1-1" : { }
  }
}
```
#### 状态码
| 状态码 | 描述 |
|:---|:---|
| 200 | OK |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-eihealth/ErrorCode.html)。
