文档首页 > > API参考> API说明> 作业> 添加任务集属性的作业

添加任务集属性的作业

分享
更新时间: 2019/07/18 GMT+08:00

功能介绍

该接口用于创建一个属性为TASKSET的作业,可以静态包含任务列表,定义任务之间的依赖关系、亲和关系。该类型作业创建好后,不能再向作业中继续添加任务。

URI

POST /v1.0/{project_id}/jobs

参数说明请参见表1

表1 参数说明

参数

是否为必选

描述

project_id

项目编号,获取方法请参考获取项目编号

请求消息

请求参数

请求参数如表2所示。

表2 请求参数说明

参数

是否为必选

参数类型

描述

jobName

String

作业名称。

取值范围:只能以小写字母开头,由小写字母、数字、中划线(-)组成,不能以中划线结尾,且长度为2-24个字符。

description

String

作业相关描述。

取值范围为0-1024个字符。只允许输入英文字符。

默认值:NULL。

env

Map<String, String>

全局环境变量,字典数据结构{"key":"value"},默认值为空。

key取值范围:以字母或下划线开始,且不能以BATCH_开头,由数字、字母、下划线组成。

env取值范围:最大为8192个字符。

说明:

请勿使用明文隐私信息,如AK|SK,明文密码等。

maxTimeout

Integer

超时时间。

取值范围:0-604800。

单位:秒。

默认值为0。当值为0时,表示不超时。

scheduledTime

String

作业定时启动时间,格式为UTC(世界标准)时间,"2018-04-16T11:55:53Z",默认值为NULL。

UTC比中国时间晚8小时。

tasks

List<TaskAddParameter>

增加的任务参数列表,详情可参考表3

dag

Map<String,Map<String,String>>

作业内的task dag编排。默认值为空。字典数据结构,例如:

"dag": {

"B": {

"A": "SUCCEEDED"

},

"A": {

}

}

computeEnvs

List<ComputeEnv>

资源池列表。当前只支持选择1个已创建资源池。详情可参考表4

notification

Notification

订阅作业事件,详情可参考表5

默认值:NULL。

retryPolicy

RetryPolicy

重试次数,详情参考表6

默认值:NULL。

表3 tasks字段数据结构说明

参数

是否为必选

参数类型

描述

taskAddParameter

TaskAddParameter

任务的定义,详情可参考表7

表4 computeEnv字段数据结构说明

参数

是否为必选

参数类型

描述

poolId

String

已有资源池poolId。

表5 notification字段数据结构说明

参数

是否为必选

参数类型

描述

topicName

String

订阅消息的名称。

取值范围为1-255个字符。只允许输入英文字符。

events

List<String>

作业的状态变化。

支持以下事件类型:OnJobRunning、OnJobFailed或OnJobSucceeded。

表6 retryPolicy字段数据结构说明

参数

是否为必选

参数类型

描述

maxRetryCnt

Integer

最大重试次数。

取值范围:0-100。

默认值:0。

表7 taskAddParameter字段数据结构说明

参数

是否为必选

参数类型

描述

taskDefinition

TaskDefinition数据结构

任务定义,详情可参考表8

replicas

Integer

任务数。

取值范围:1-100。

默认值:1。

taskGroupName

String

任务组名称,在一个作业中taskGroupName唯一,默认taskGroupName与taskNamePrefix同名。

取值范围:只能以小写字母开头,由小写字母、数字、中划线(-)组成,不能以中划线结尾,取值范围为2-24个字符。

notification

Notification数据结构

订阅任务事件,订阅事件的参数可参考表16

默认值:NULL。

表8 taskDefinition字段数据结构说明

参数

是否为必选

参数类型

描述

taskNamePrefix

String

任务名称前缀,假设taskNamePrefix为taskA, 根据replicas数量,生成taskName名称依次为{taskA.0, taskA.1, …, taskA.[replicas-1]}。

取值范围:只能以小写字母开头,由小写字母、数字、中划线(-)组成,不能以中划线结尾,取值范围为2-24个字符。

retryPolicy

RetryPolicy数据结构

重试次数,详情可参考表9

默认值:NULL。

resourceLimit

ResourceLimit数据结构

任务资源限制,包括容器和虚拟机进程,详情可参考表10

默认值:NULL。

env

Map<String, String>

环境变量。

系统内置的环境变量请参考系统内置环境变量

您可以自定义环境变量,取值范围为0-8192个字符。key取值范围:以字母或下划线开头,且不能以“BATCH_”开头,由数字、字母、下划线组成。

说明:
  • 如果任务中配置的key和作业中配置的key相同,则实际生效的为任务中配置的的环境变量。
  • 请勿使用明文隐私信息,如AK|SK,明文密码等。

inputs

List<Input>

数据输入列表,每个任务最多可以配置10个输入路径。详情可参考表12

outputs

List<Output>

数据输出列表,每个任务最多可以配置10个输入路径。详情可参考表13

description

String

任务相关描述。

取值范围为0-1024个字符。只允许输入英文字符。

默认值:NULL。

logRedirectPath

LogRedirectPath数据结构

设置日志重定向路径,详情可参考表14

cmd

String

任务执行命令。任务所属资源池为CCE集群时,为必选参数。

取值范围为0-2048个字符。只允许输入英文字符。

docker

Docker数据结构

非空时为容器型任务,任务所资源池为CCE集群时,为必选参数。详情可参考表15

默认值:NULL。

表9 retryPolicy字段数据结构说明

参数

是否为必选

参数类型

描述

maxRetryCnt

Integer

最大重试次数。

取值范围为0-100次。

表10 resourceLimit字段数据结构说明

参数

是否为必选

参数类型

描述

cpu

Integer

核数。

取值范围:最小值为1,最大值不能超过任务所属资源池单节点可用cpu核数,可在资源池详情页查看。

mem

Integer

内存。

取值范围:最小值为128,最大值不能超过任务所属资源池单节点可用内存,可在资源池详情页查看。

单位:MB。

gpu

Gpu数据结构

gpu资源描述,详情可参考表11

默认值:NULL。

表11 gpu字段数据结构说明

参数

是否为必选

参数类型

描述

type

String

gpu型号。

amount

Integer

GPU单元数。1块GPU由1000个GPU单元组成。

取值范围:最小值为1,最大值不能超过任务所属资源池单节点可用GPU单元数,可在资源池详情页查看。

表12 input字段数据结构说明

参数

是否为必选

参数类型

描述

srcPath

String

数据源路径,"/data/input/"|"obs:// bucket-name/sub-path"|"sfs: //share-id/sub-path"|"evs: //volume-id/sub-path"。且不能与input、output字段的其他路径相同。

只支持目录路径,不支持文件路径。取值范围为1-256个字符。只允许输入英文字符、数字和有限特殊字符包括点(.)、冒号(:)、斜线(/)、中划线(-)、下划线(_)。

destPath

String

目的端路径,为本地目录,"/data/input/"。且不能与input、output字段的其他路径相同。

只支持目录路径,不支持文件路径。取值范围为1-256个字符。只允许输入英文字符、数字和有限特殊字符包括点(.)、冒号(:)、斜线(/)、中划线(-)、下划线(_)。

表13 output字段数据结构说明

参数

是否为必选

参数类型

描述

srcPath

String

数据源路径,为本地目录,"/data/output/"。且不能与input、output字段的其他路径相同。

只支持目录路径,不支持文件路径。取值范围为1-256个字符。只允许输入英文字符、数字和有限特殊字符包括点(.)、冒号(:)、斜线(/)、中划线(-)、下划线(_)。

destPath

String

输出路径,"/data/output/"|"obs:// bucket-name/sub-path"|"sfs: //share-id/sub-path"|"evs: //volume-id/sub-path"。且不能与input、output字段的其他路径相同。

只支持目录路径,不支持文件路径。取值范围为1-256个字符。只允许输入英文字符、数字和有限特殊字符包括点(.)、冒号(:)、斜线(/)、中划线(-)、下划线(_)。

表14 logRedirectPath字段数据结构说明

参数

是否为必选

参数类型

描述

stderrRedirectPath

String

标准错误日志的OBS路径, 以obs:// 开头。规定使用用户自己的OBS中已创建的桶,如果该路径为一个目录则以"/"结尾,路径为一个文件则直接以文件名结尾。

示例obs:// bucket-name/sub-path。bucket-name和sub-path的取值范围为0-256个字符。只允许输入英文字符、数字和有限特殊字符包括点(.)、斜线(/)、中划线(-)、下划线(_)。

默认值:NULL。

stdoutRedirectPath

String

标准输出日志的OBS路径, 以obs:// 开头。规定使用用户自己的OBS中已创建的桶,如果该路径为一个目录则以"/"结尾,路径为一个文件则直接以文件名结尾。

示例obs:// bucket-name/sub-path。bucket-name和sub-path的取值范围为0-256个字符。只允许输入英文字符、数字和有限特殊字符包括点(.)、斜线(/)、中划线(-)、下划线(_)。

默认值:NULL。

表15 docker字段数据结构说明

参数

是否为必选

参数类型

描述

server

String

镜像仓库地址,如果是华为容器镜像服务,可不填此参数。

image

String

docker镜像描述,[namespace][repo]:[tag]。

表16 notification字段数据结构说明

参数

是否为必选

参数类型

描述

topicName

String

主题名。

取值范围为1-255个字符。只允许输入英文字符。

events

List<String>

任务事件列表。

支持以下事件类型:OnTaskStarting、OnTaskRunning、OnTaskFailed或OnTaskSucceeded。

响应消息

响应参数

正常响应参数如表17所示。异常响应参数如表2所示。

表17 正常响应参数说明

参数

参数类型

描述

data

Object

返回内容可参考表18

msg

String

操作成功描述信息。

requestId

String

请求Id。

表18 data字段数据结构说明

参数

参数类型

描述

jobId

String

作业Id。

示例

如下以创建名称为testDAG的任务集属性作业为例。

  • 请求示例
    {
    	"jobName" : " test-dag",
    	"description" : "taskSet job",
    	"env" : {
    		"key" : "value"
    	},
    	"maxTimeout" : 10,
    	"scheduledTime" : "",
    	"tasks" : [{
    			"taskDefinition" : {
    				"taskNamePrefix" : "task-a",
    				"retryPolicy" : {
    					"maxRetryCnt" : 0
    				},
    				"resourceLimit" : {
    					"mem" : 128,
    					"cpu" : 1
    				},
    				"env" : null,
    				"description" : "task-a",
    				"logRedirectPath" : null,
    				"cmd" : "echo $BATCH_TASK_INDEX;",
    				"docker" : {
    					"server" : "10.0.0.0:8888/op_svc_batch",
    					"image" : "batch-agent:5.0"
    				}
    			},
    			"replicas" : 1,
    			"taskGroupName" : "task-a",
    			"notification" : null
    		}, {
    			"taskDefinition" : {
    				"taskNamePrefix" : "task-b",
    				"retryPolicy" : {
    					"maxRetryCnt" : 0
    				},
    				"resourceLimit" : {
    					"mem" : 128,
    					"cpu" : 1
    				},
    				"env" : null,
    				"description" : "task-b",
    				"logRedirectPath" : null,
    				"cmd" : "echo $BATCH_TASK_INDEX;",
    				"docker" : {
    					"server" : "10.0.0.0:8888/op_svc_batch",
    					"image" : "batch-agent:5.0"
    				}
    			},
    			"replicas" : 1,
    			"taskGroupName" : "task-b",
    			"notification" : null
    		}
    	],
    	"dag" : {
    		"task-b" : {
    			"task-a" : "SUCCEEDED"
    		}
    	},
    	"computeEnvs" : [{
    			"poolId" : "pool1b3520e4"
    		}
    	],
    	"notification" : null,
    	"retryPolicy" : {
    		"maxRetryCnt" : 1
    	}
    }
  • 响应示例
    {
      "data": {
        "jobId": "joboizqvqau"
      },
      "msg": "submit job successfully",
      "requestId": "req-f7520f35-41d1-4173-a578-052771e377e9"
    }

状态码

参考表1

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区