更新时间:2025-12-23 GMT+08:00
分享

启动作业 - ExecuteJob

功能介绍

启动作业。

授权信息

账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限,具体权限要求请参见权限和授权项。

URI

POST /v1/{project_id}/eihealth-projects/{eihealth_project_id}/jobs

表1 路径参数

参数

是否必选

参数类型

描述

eihealth_project_id

是

String

参数解释:

空间ID,您可以从获取空间ID中获取。

约束限制:

不涉及

取值范围:

仅支持字母、数字、中划线和下划线,长度为[1-128]个字符。

默认取值:

不涉及

project_id

是

String

参数解释:

项目ID,您可以从获取项目ID中获取。

约束限制:

不涉及

取值范围:

仅支持字母、数字、中划线和下划线,长度为[1-128]个字符。

默认取值:

不涉及

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

是

String

参数解释:

用户Token。

Token认证就是在调用API的时候将Token加到请求消息头,从而通过身份认证,获得操作API的权限,获取Token接口响应消息头中X-Subject-Token的值即为Token。

约束限制:

不涉及

取值范围:

长度为[1-32768]个字符。

默认取值:

不涉及

表3 请求Body参数

参数

是否必选

参数类型

描述

name

是

String

参数解释:

作业的名称。

约束限制:

取值范围:[1,63],允许大小写字母、数字、以及特殊字符中划线(-)。

取值范围:

长度[1,63],以小写字母、大写字母或数字开头,允许出现中划线。

默认取值:

不涉及

description

否

String

参数解释:

作业的描述。

约束限制:

不涉及

取值范围:

长度最大为255个字符。

默认取值:

不涉及

labels

否

Array of strings

参数解释:

作业标签。

约束限制:

单个标签最大长度32字符,支持中文、字母、数字、空格、下划线和中划线,且不能以空格开头或者结尾。最多设置5个标签。

取值范围:

不涉及

默认取值:

不涉及

priority

否

Integer

参数解释:

作业的优先级。

约束限制:

取值范围[0,9],0最低,默认数值0。

取值范围:

长度[0,9],0最低,默认数值0。

默认取值:

0

timeout

否

Integer

参数解释:

作业执行超时时长。

约束限制:

取值范围: [1,144000],单位:分钟,默认数值1440。

取值范围:

长度[1,144000],单位:分钟,默认数值1440。

默认取值:

1440

output_dir

否

String

参数解释:

作业结果存储目录,默认为空,表示使用自身项目桶的根目录。

约束限制:

不涉及

取值范围:

长度[0,128]。

默认取值:

不涉及

tool_id

是

String

参数解释:

作业依赖的组件ID,组件当前仅支持流程,取值范围[1,135],支持大小写字母和数字。目前支持两种格式,特殊ID:{流程名称}::{流程版本}::{源项目名称};正常ID:流程ID。

约束限制:

取值范围[1,135],支持大小写字母和数字。

取值范围:

长度[1,135],支持大小写字母和数字。

默认取值:

不涉及

tool_type

是

String

参数解释:

作业依赖的组件类型,支持app和workflow。

约束限制:

不涉及

取值范围:

  • app:应用类型

  • workflow:流程类型

默认取值:

不涉及

tasks

否

Array of JobTaskDto objects

参数解释:

作业子任务列表。

约束限制:

最多支持设置64个子任务。

取值范围:

不涉及

默认取值:

不涉及

io_acc_id

否

String

参数解释:

作业使用的IO加速实例ID,不填表示不使用。

约束限制:

不涉及

取值范围:

长度[0,128],支持字母、数字、下划线和中划线。

默认取值:

不涉及

io_acc_expected_usage

否

Integer

参数解释:

作业使用的SFS-Turbo实例预期占用存储量,单位G,用于投递作业时评估当前加速实例余量是否充足。

约束限制:

不涉及

取值范围:

长度[0,327680]。

默认取值:

不涉及

node_labels

否

Array of strings

参数解释:

节点标签。

约束限制:

取值范围[0,1],单个标签最大长度63字符。

取值范围:

不涉及

默认取值:

不涉及

表4 JobTaskDto

参数

是否必选

参数类型

描述

task_name

是

String

参数解释:

子任务实际名称。

约束限制:

不涉及

取值范围:

长度[1,32],只能以大小写字母开头,由大小写字母、数字、中划线(-)、下划线(_)组成,以大小写字符或数字结尾。

默认取值:

不涉及

inputs

否

Array of TaskParameterDto objects

参数解释:

任务的输入参数信息。

约束限制:

最多支持128个参数。

取值范围:

不涉及

默认取值:

不涉及

outputs

否

Array of TaskParameterDto objects

参数解释:

任务的输出参数信息。

约束限制:

最多支持128个参数。

取值范围:

不涉及

默认取值:

不涉及

resources

否

TaskResourceDto object

参数解释:

应用申请资源。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

output_dir

否

String

参数解释:

子任务结果存储目录,默认为空。

约束限制:

不涉及

取值范围:

长度[0,128]。

默认取值:

不涉及

io_acc_type

否

String

参数解释:

子任务使用的IO加速实例类型,不填表示不使用。

约束限制:

不涉及

取值范围:

  • SFS:SFS-Turbo加速类型

  • EVS:EVS加速类型

默认取值:

不涉及

表5 TaskParameterDto

参数

是否必选

参数类型

描述

name

是

String

参数解释:

子任务的参数名称。

约束限制:

不涉及

取值范围:

长度为[1,32],以小写字母开头,允许出现中划线(-)、小写字母和数字,且必须以小写字母或数字结尾。需要和已有应用的参数名称一致。

默认取值:

不涉及

source

否

String

参数解释:

子任务的参数类型。

约束限制:

不涉及

取值范围:

  • MANUAL:手动填写参数。

  • DATABASE:数据库来源参数。

默认取值:

MANUAL

values

否

Array of strings

参数解释:

子任务的参数数值。

约束限制:

每个参数取值范围[0,2048],最多支持设置128个参数。

取值范围:

不涉及

默认取值:

不涉及

表6 TaskResourceDto

参数

是否必选

参数类型

描述

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],仅支持整数。对于流程和作业,不填默认使用前一级的配置,填值会覆盖更新。覆盖关系:作业->流程->应用。

默认取值:

不涉及

响应参数

状态码:201

表7 响应Body参数

参数

参数类型

描述

id

String

参数解释:

作业ID。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

max_platform_flavor

TaskResourceDto object

参数解释:

平台节点最大规格。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

app_infos

Array of AppFilterDto objects

参数解释:

不满足节点规格约束的应用列表信息。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

job_info

JobFilterDto object

参数解释:

不满足节点标签约束的作业信息。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表8 AppFilterDto

参数

参数类型

描述

app_id

String

参数解释:

应用ID。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

app_name

String

参数解释:

应用名称。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

app_version

String

参数解释:

应用版本。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

app_resource

TaskResourceDto object

参数解释:

应用资源。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

app_node_labels

Array of strings

参数解释:

计算节点标签。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表9 TaskResourceDto

参数

参数类型

描述

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],仅支持整数。对于流程和作业,不填默认使用前一级的配置,填值会覆盖更新。覆盖关系:作业->流程->应用。

默认取值:

不涉及

表10 JobFilterDto

参数

参数类型

描述

job_name

String

参数解释:

作业名称。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

job_node_labels

Array of strings

参数解释:

计算节点标签。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

请求示例

启动作业,其中作业的名称为demo-job,作业使用IO加速类型为SFS。

https://{endpoint}/v1/{project_id}/eihealth-projects/{eihealth_project_id}/jobs

{
  "name" : "demo-job",
  "description" : "description",
  "labels" : [ "labelA", "labelB" ],
  "priority" : 0,
  "timeout" : 1440,
  "output_dir" : "/job",
  "tool_id" : "baabcb56-5bb6-11eb-8a0d-fa163e3ddba1",
  "tool_type" : "workflow",
  "tasks" : [ {
    "task_name" : "app1-1",
    "inputs" : [ {
      "name" : "dir-parameter",
      "values" : [ "test-project:/300M_NA12878_clean_1.fastq" ]
    } ],
    "outputs" : [ {
      "name" : "dir-parameter",
      "values" : [ "test-project:/output-dir/" ]
    } ],
    "io_acc_type" : "SFS",
    "resources" : {
      "cpu_type" : "X86",
      "cpu" : "1C",
      "memory" : "1G",
      "gpu_type" : "GPU",
      "gpu" : 0
    }
  } ]
}

响应示例

状态码:201

CREATED

{
  "id" : "baabcb56-5bb6-11eb-8a0d-fa163e3ddba1",
  "app_infos" : [ {
    "app_id" : "baabcb56-5bb6-11eb-8a0d-fa163e3ddba1",
    "app_name" : "demo-app",
    "app_version" : "1.0.0",
    "app_node_labels" : [ "health.node" ]
  } ],
  "job_info" : {
    "job_name" : "demo-job",
    "job_node_labels" : [ "health.node" ]
  }
}

状态码

状态码

描述

201

CREATED

错误码

请参见错误码。

相关文档