创建一个任务到集群中运行。您可以指定数据源配置、代码源配置、启动命令以及任务运行的每个节点的计算资源配置等信息。
接口说明
请确保在使用该接口前,已充分了解 PAI-DLC 产品的收费方式和价格。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
授权信息
下表是API对应的授权信息,可以在RAM权限策略语句的Action
元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:
- 操作:是指具体的权限点。
- 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
- 资源类型:是指操作中支持授权的资源类型。具体说明如下:
- 对于必选的资源类型,用背景高亮的方式表示。
- 对于不支持资源级授权的操作,用
全部资源
表示。
- 条件关键字:是指云产品自身定义的条件关键字。
- 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作 | 访问级别 | 资源类型 | 条件关键字 | 关联操作 |
---|---|---|---|---|
paidlc:CreateJob | create |
|
| 无 |
请求语法
POST /api/v1/jobs
请求参数
名称 | 类型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
body | object | 否 | 请求 Body 参数。 | |
DisplayName | string | 是 | 任务的名称,命名格式如下:
| tf-mnist-test |
JobType | string | 是 | 任务类型,大小写敏感。当前支持的任务类型:
| 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" } |
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,可选参数
| vs-abcdef**** |
SecurityGroupId | string | 否 | 用户安全组的 ID。 | sg-abcdef**** |
ExtendedCIDRs | array | 否 | 扩展网段
| |
string | 否 | 扩展网段。 | 192.168.0.1/24 | |
DefaultRoute | string | 否 | 默认路由。取值如下:
| eth0 |
ThirdpartyLibs | array | 否 | 待安装的 Python 三方库列表。 | |
string | 否 | 指定一个第三方 Python 库和对应版本要求,例如: | numpy==1.16.1 | |
ThirdpartyLibDir | string | 否 | Python 三方库(requirements.txt)文件所在文件夹名称;每个节点在运行指定的 UserCommand 之前,PAI-DLC 会从指定文件夹取出 requirements.txt 文件,并调用 | /root/code/ |
Envs | object | 否 | 环境变量配置。 | |
string | 否 | 一个环境变量,格式: | ENABLE_DEBUG_MODE | |
JobMaxRunningTimeMinutes | long | 否 | 作业最长运行时长,单位为分钟。 | 1024 |
WorkspaceId | string | 否 | 工作空间 ID,如何获取工作空间 ID,请参见 ListWorkspaces 。 | ws-20210126170216-xxxxxxx |
ResourceId | string | 否 | 资源组 ID,可选参数。
| rs-xxx |
Priority | integer | 否 | 任务的优先级,可选参数,默认值 1,参数值的范围是 1~9。其中:
| 8 |
Settings | JobSettings | 否 | 作业额外参数配置。 | |
ElasticSpec | JobElasticSpec | 否 | 该参数暂未支持,无需关注。 | |
DebuggerConfigContent | string | 否 | 该参数暂未支持,无需关注。 | “” |
Options | string | 否 | 本任务的额外配置,通过此参数可以调整挂载的数据源的一些行为。如任务有挂载 OSS 类型的数据源时,可以通过将此参数配置为 | key1=value1,key2=value2 |
SuccessPolicy | string | 否 | 分布式多机任务的成功策略,目前只有 Tensorflow 的多机任务支持。
| AllWorkers |
CredentialConfig | CredentialConfig | 否 | 访问凭证配置。 | |
Accessibility | string | 否 | 作业的可见性,取值如下:
| PRIVATE |
返回参数
示例
正常返回示例
JSON
格式
{
"JobId": "dlc7*******",
"RequestId": "473469C7-AA6F-4DC5-B3DB-xxxxxxx"
}
错误码
访问错误中心查看更多错误码。
变更历史
变更时间 | 变更内容概要 | 操作 |
---|---|---|
2024-08-09 | API 内部配置变更,不影响调用 | 查看变更详情 |
2024-07-05 | API 内部配置变更,不影响调用 | 查看变更详情 |
2023-12-08 | API 内部配置变更,不影响调用 | 查看变更详情 |
2023-09-11 | API 内部配置变更,不影响调用 | 查看变更详情 |