更新时间:2024-12-13 GMT+08:00
分享

创建自动作业模板

功能介绍

创建自动作业模板

URI

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

表1 路径参数

参数

是否必选

参数类型

描述

eihealth_project_id

String

平台项目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。

表3 请求Body参数

参数

是否必选

参数类型

描述

name

String

自动作业的名称,取值范围:[1,63],允许大小写字母、数字、以及特殊字符中划线(-)

最小长度:1

最大长度:63

description

String

自动作业的描述,取值范围:输入字符最大长度为255

最大长度:255

database_id

String

自动作业依赖的数据库ID

最小长度:1

最大长度:128

database_column

String

自动作业状态更新列

最小长度:1

最大长度:55

database_column_type

String

自动作业状态更新列的类型,不填默认为EXISTED

clean_database_column

Boolean

是否清空作业状态更新列

缺省值:true

database_trigger

Array of DatabaseTriggerDto objects

自动作业触发器

数组长度:0 - 10

tool_id

String

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

最小长度:1

最大长度:135

tool_type

String

作业依赖的组件类型,仅支持填写workflow

job_name

String

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

最小长度:1

最大长度:63

job_name_type

String

作业的名称类型

枚举值:

  • DATABASE
  • MANUAL
  • AUTO

job_description

String

作业的描述,取值范围:输入字符最大长度为255

最小长度:0

最大长度:255

labels

Array of strings

作业标签,取值范围[0,5],单个标签最大长度32字符,仅仅包含小写字母或数字或大写字母

最小长度:1

最大长度:32

数组长度:0 - 5

priority

Integer

作业的优先级,取值范围[0,9],0最低,默认数值0

最小值:0

最大值:9

timeout

Integer

作业执行超时时长,取值范围: [1, 144000],单位:分钟,默认数值1440

最小值:1

最大值:144000

output_dir

String

作业结果存储目录,不指定则在workflow的工作目录下生产job同名子目录,指定则以指定路径为准;输出路径必须以斜杠(/)开头且不能以斜杠(/)结尾,不能包含两个以上相邻的斜杠(/),不能包含以下特殊字符:\ : ; * ? < " > | 。其中单个文件夹名称不能以中划线(-)开头,不能以英文句号(.)或斜杠(/)或空格开头或结尾

最小长度:0

最大长度:128

output_dir_type

String

输出路径的类型

node_labels

Array of strings

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

最小长度:1

最大长度:63

数组长度:0 - 1

io_acc_id

String

自动作业使用的IO加速实例id,不填表示不使用

最小长度:0

最大长度:128

tasks

Array of JobTaskDto objects

自动作业依赖的流程信息

数组长度:0 - 64

表4 DatabaseTriggerDto

参数

是否必选

参数类型

描述

name

String

触发器的列名,取值范围:[1,63]

最小长度:1

最大长度:63

judge_mode

String

触发器的判断模式

枚举值:

  • gte
  • lte
  • gt
  • lt
  • like
  • notlike
  • equal
  • notequal

value

String

触发器的取值,取值范围:[1,128]

最小长度:1

最大长度:128

表5 JobTaskDto

参数

是否必选

参数类型

描述

task_name

String

子任务实际名称,取值范围[1,32],只能以大小写字母开头,由大小写字母、数字、中划线(-)、下划线(_)组成,以大小写字符或数字结尾。需要和已有子任务的名称一致。

最小长度:1

最大长度:32

inputs

Array of TaskParameterDto objects

任务的输入参数信息

数组长度:0 - 128

resources

TaskResourceDto object

应用申请资源

io_acc_type

String

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

最小长度:0

最大长度:128

表6 TaskParameterDto

参数

是否必选

参数类型

描述

name

String

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

最小长度:1

最大长度:32

source

String

子任务的参数类型,不填默认MANUAL

values

Array of strings

子任务的参数数值,根据参数类型进行合法性校验

最小长度:0

最大长度:2048

数组长度:0 - 128

表7 TaskResourceDto

参数

是否必选

参数类型

描述

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

响应参数

状态码: 201

表8 响应Body参数

参数

参数类型

描述

id

String

作业id

max_platform_flavor

TaskResourceDto object

平台节点最大规格

app_infos

Array of AppFilterDto objects

筛选后的app集合

job_info

JobFilterDto object

筛选后的job

表9 AppFilterDto

参数

参数类型

描述

app_id

String

应用id

app_name

String

应用名称

app_version

String

应用版本

app_resource

TaskResourceDto object

应用资源

app_node_labels

Array of strings

计算节点标签

表10 TaskResourceDto

参数

参数类型

描述

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

表11 JobFilterDto

参数

参数类型

描述

job_name

String

作业名称

job_node_labels

Array of strings

计算节点标签

请求示例

创建自动作业,自动作业名称为demo-auto-job,使用如下数据库,使用数据库列为user_name。

https://eihealth.cn-north-4.myhuaweicloud.com/v1/{project_id}/eihealth-projects/{eihealth_project_id}/auto-jobs

{
  "name" : "demo-auto-job",
  "description" : "description",
  "database_id" : "2adc4b5fbeeb4a518f177167074a5fb2",
  "database_column" : "user_name",
  "database_column_type" : "NEW",
  "clean_database_column" : false,
  "database_trigger" : [ {
    "name" : "status",
    "judge_mode" : "gte",
    "value" : "100"
  } ],
  "tool_id" : "baabcb56-5bb6-11eb-8a0d-fa163e3ddba1",
  "tool_type" : "workflow",
  "job_name" : "demo-job",
  "job_name_type" : "AUTO",
  "job_description" : "description",
  "labels" : [ "labelA", "labelB" ],
  "priority" : 0,
  "timeout" : 1440,
  "output_dir" : "/job",
  "output_dir_type" : "MANUAL",
  "node_labels" : [ "health.node" ],
  "io_acc_id" : "baabcb56-5bb6-11eb-8a0d-fa163e3ddba1",
  "tasks" : [ {
    "task_name" : "app1-1",
    "inputs" : [ {
      "name" : "dir-parameter",
      "source" : "MANUAL",
      "values" : [ "/test" ]
    } ],
    "resources" : {
      "cpu" : "1C",
      "cpu_type" : "X86",
      "memory" : "1G",
      "gpu_type" : "GPU",
      "gpu" : "0"
    },
    "io_acc_type" : "SFS"
  } ]
}

响应示例

状态码: 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

错误码

请参见错误码

相关文档