CreateJob - 创建任务

更新时间:
复制为 MD 格式

创建一个任务到集群中运行。您可以指定数据源配置、代码源配置、启动命令以及任务运行的每个节点的计算资源配置等信息

接口说明

请确保在使用该接口前,已充分了解 PAI-DLC 产品的收费方式和价格

重要 CreateJob 接口参数总长度(包含系统生成的参数)不能超过 65536 个字节,

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

调试

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。

  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。

  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:

    • 对于必选的资源类型,用前面加 * 表示。

    • 对于不支持资源级授权的操作,用全部资源表示。

  • 条件关键字:是指云产品自身定义的条件关键字。

  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。

操作

访问级别

资源类型

条件关键字

关联操作

paidlc:CreateJob

create

*全部资源

*

请求语法

POST /api/v1/jobs HTTP/1.1

请求参数

名称

类型

必填

描述

示例值

body

object

请求 Body 参数。

DisplayName

string

任务的名称,命名格式如下:

  • 名称长度不超过 256 个字符。

  • 允许数字、字母、下划线(_)、英文句号(.)和短横线(-)。

tf-mnist-test

JobType

string

任务类型,大小写敏感。当前支持的任务类型:

  • TFJob

  • PyTorchJob

  • MPIJob

  • XGBoostJob

  • OneFlowJob

  • ElasticBatchJob

  • SlurmJob

  • RayJob

  • DataJuicerJob

枚举值:

  • OneFlowJob :

    OneFlow

  • PyTorchJob :

    PyTorch

  • SlurmJob :

    Slurm

  • XGBoostJob :

    XGBoost

  • ElasticBatchJob :

    ElasticBatch

  • DataJuicerJob :

    DataJuicer

  • MPIJob :

    MPIJob

  • TFJob :

    Tensorflow

  • RayJob :

    Ray

TFJob

JobSpecs

array

JobSpecs 描述任务运行时的各种配置,诸如镜像地址、启动命令、节点资源申明、副本数量等。

DLC 任务由不同类型的节点组成,同一类型的节点拥有完全相同的配置,这种配置被称为一个 JobSpec。JobSpecs 描述所有类型节点的配置,是 JobSpec 的数组。

JobSpec

任务的运行时配置。

UserCommand

string

任务所有节点的启动命令。

python /root/code/mnist.py

DataSources

array<object>

任务运行所使用的数据源列表。

object

本任务使用的所有数据源列表。按照数据源中的配置 mount 到每一个节点所在的容器本地目录上(本地目录由数据源中的配置 MountPath 指定)。

任务的启动命令中的进程以 MountPath 为路径直接访问每一个数据源代表的分布式文件系统。

DataSourceId

string

数据源的 ID。如何查看数据源 ID,请参见 ListDatasets

d-cn9dl*******

MountPath

string

本任务需要挂载的路径,可选参数,默认使用数据源中的挂载路径。

/root/data

Uri

string

数据源路径。

oss://bucket.oss-cn-hangzhou-internal.aliyuncs.com/path/

Options

string

自定义数据集挂载属性,目前仅支持 OSS。

{ "fs.oss.download.thread.concurrency": "10", "fs.oss.upload.thread.concurrency": "10", "fs.jindo.args": "-oattr_timeout=3 -oentry_timeout=0 -onegative_timeout=0 -oauto_cache -ono_symlink" }

DataSourceVersion

string

MountAccess

string

EnableCache

boolean

CodeSource

object

本任务使用的代码源。任务的节点启动之前,DLC 会自动下载代码源中配置好的代码,并 Mount 到容器的本地目录。

CodeSourceId

string

代码源 ID。如何获取代码源 ID,请参见ListCodeSources

code-20210111103721-xxxxxxx

Branch

string

本任务运行时,引用的代码仓库的分支,可选参数,默认使用代码源中的配置分支字段。

master

Commit

string

本任务需要下载的代码 Commit ID,可选参数,默认使用代码源中的 CommitID 配置。

44da109b5******

MountPath

string

本次任务需要挂载的路径,可选参数,默认使用代码源中配置挂载路径。

/root/data

UserVpc

object

用户 VPC 配置。

VpcId

string

用户 VPC 的 ID。

vpc-abcdef****

SwitchId

string

用户交换机的 ID,可选参数

  • 参数值为空时系统会根据库存情况自动选择合适的交换机;

  • 也可以自己指定交换机 ID。

vs-abcdef****

SecurityGroupId

string

用户安全组的 ID。

sg-abcdef****

ExtendedCIDRs

array

扩展网段

  • 当交换机 ID 为空时,此参数可以不提供,系统会自动获取 VPC 下的所有网段;

  • 当交换机 ID 不为空时,此参数必须提供,建议填写 VPC 下的所有网段。

string

扩展网段。

192.168.0.1/24

DefaultRoute

string

默认路由。取值如下:

eth0

ThirdpartyLibs

array

待安装的 Python 三方库列表。

string

指定一个第三方 Python 库和对应版本要求,例如:numpy==1.16.1

numpy==1.16.1

ThirdpartyLibDir

string

Python 三方库(requirements.txt)文件所在文件夹名称;每个节点在运行指定的 UserCommand 之前,PAI-DLC 会从指定文件夹取出 requirements.txt 文件,并调用pip install -r安装。

/root/code/

Envs

object

环境变量配置。

string

一个环境变量,格式:Key=Value

重要 环境变量需遵循 POSIX 标准

ENABLE_DEBUG_MODE

JobMaxRunningTimeMinutes

integer

作业最长运行时长,单位为分钟。

1024

WorkspaceId

string

工作空间 ID。如何获取工作空间 ID,请参见 ListWorkspaces

ws-20210126170216-xxxxxxx

ResourceId

string

资源组 ID,可选参数。

  • 参数值为空表示提交到公共资源组。

  • 如果当前工作空间已经绑定的资源配额,此处可以指定对应的资源配额 ID;如何查询资源配额 ID,详情请参见管理资源配额

rs-xxx

Priority

integer

任务的优先级,可选参数,默认值 1,参数值的范围是 1~9。其中:

  • 1 为最低优先级。

  • 9 为最高优先级。

8

Settings JobSettings

作业额外参数配置。

ElasticSpec

JobElasticSpec

该参数暂未支持,无需关注。

DebuggerConfigContent

string

该参数暂未支持,无需关注。

“”

Options

string

本任务的额外配置,通过此参数可以调整挂载的数据源的一些行为。如任务有挂载 OSS 类型的数据源时,可以通过将此参数配置为 fs.oss.download.thread.concurrency=4,fs.oss.download.queue.size=16 ,覆盖 JindoFS 的默认参数。

key1=value1,key2=value2

SuccessPolicy

string

分布式多机任务的成功策略,目前只有 Tensorflow 的多机任务支持。

  • ChiefWorker:当指定为这个值的时候,只要 Chief 的 pod 成功结束,那么就认为整个任务成功结束。

  • AllWorkers(默认值):必须是所有的 Worker 全部成功,才会认为整个任务成功。

AllWorkers

CredentialConfig

CredentialConfig

访问凭证配置。

Accessibility

string

作业的可见性,取值如下:

  • PUBLIC:在此工作空间中,对所有人可见。

  • PRIVATE:在此工作空间中,仅对您和管理员可见。

PRIVATE

CustomEnvs

array<object>

object

Key

string

Value

string

Visible

string

返回参数

名称

类型

描述

示例值

object

返回 JSON 格式字符串。

JobId

string

此次调用创建的任务 ID。

dlc7*******

RequestId

string

本次请求的 ID,用于诊断和答疑。

473469C7-AA6F-4DC5-B3DB-xxxxxxx

示例

正常返回示例

JSON格式

{
  "JobId": "dlc7*******",
  "RequestId": "473469C7-AA6F-4DC5-B3DB-xxxxxxx"
}

错误码

访问错误中心查看更多错误码。

变更历史

更多信息,参考变更详情