CreateJob - 创建作业

更新时间:
复制 MD 格式

创建一个E-HPC Instant 作业。

调试

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

调试

授权信息

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

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

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

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

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

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

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

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

操作

访问级别

资源类型

条件关键字

关联操作

ehpc:CreateJob

create

*全部资源

*

无 无

请求参数

名称

类型

必填

描述

示例值

JobName

string

是

作业名称。长度为 2~64 个字符,支持英文、中文和数字。可以包含短划线(-)和下划线(_)。

testjob

JobDescription

string

否

作业描述。

Demo

Tasks

array<object>

是

任务列表,当前仅支持 1 个任务。

array<object>

否

任务详情。

ExecutorPolicy

object

否

任务执行策略。

ArraySpec

object

否

数组作业详情。子作业索引值通过环境变量传递到运行环境中,支持用户业务程序引用。环境变量包括:

  • EHPC_JOB_NAME:作业名称,对应参数 JobName。

  • EHPC_JOB_ID:作业 ID。

  • EHPC_TASK_NAME:任务名称,对应参数 TaskName。

  • EHPC_EXECUTOR_ID:执行单元 ID。

  • EHPC_ARRAY_TASK_ID:子作业索引值。

  • EHPC_ARRAY_TASK_COUNT:子作业总数量。

  • EHPC_ARRAY_TASK_MAX:子作业索引最大值,对应参数 IndexStart。

  • EHPC_ARRAY_TASK_MIN:子作业索引最小值,对应参数 IndexEnd。

  • EHPC_ARRAY_TASK_STEP:子作业索引步长,对应参数 IndexStep。

IndexEnd

integer

否

数组作业索引的结束值。取值范围:0~4999,且大于等于 IndexStart。

9

IndexStart

integer

否

数组作业索引的起始值。取值范围:0~4999。

0

IndexStep

integer

否

数组作业索引的间隔。

说明

若数组作业属性为 IndexStart=1,IndexEnd=5,IndexStep=2,则该数组作业包含三个子作业,子作业索引值分别为 1,3,5,用户业务程序可以通过环境变量方式访问。

1

MaxCount

integer

否

作业运行最大节点数。

说明

需遵循计算公式:MaxCount = (IndexEnd - IndexStart) / IndexStep + 1

1

TaskName

string

否

任务名称。长度为 2~32 个字符,支持英文、中文和数字。可以包含短划线(-)和下划线(_)。

task0

TaskSpec

object

否

任务规格详情。

Resource

object

否

运行环境资源信息。

Cores

number

否

运行环境的 CPU 个数。

2

Disks

array<object>

否

云盘数组。

object

否

云盘数组。

Size

integer

否

云盘大小。单位为 GiB。

40

Type

string

否

云盘类型。目前仅支持 System,表示系统盘。

System

EnableHT

boolean

否

运行环境是否开启超线程。默认值:true。

true

HostNamePrefix

string

否

运行环境主机名前缀。限制说明如下:

  • 半角句号(.)和短划线(-)不能作为首尾字符,更不能连续使用。

  • Windows 环境:字符长度不超过 10,不支持半角句号(.),不能全是数字。允许包含大小写英文字母、数字和短划线(-)。

  • Linux 环境:字符长度不超过 32,支持多个半角句号(.),点之间为一段,每段允许包含大小写英文字母、数字和短划线(-)。

compute

InstanceTypes

array

否

运行环境的实例规格。最多 5 组。

string

否

运行环境的实例规格。

说明

该参数仅在DeploymentPolicy. AllocationSpec取值为Standard时生效。

ecs.c7a.8xlarge

Memory

number

否

运行环境的内存大小。单位为 GiB。

4

RetryPolicy

object

否

任务重试策略。

ExitCodeActions

array<object>

否

重试规则。最多 10 组。

object

否

重试规则。

Action

string

是

任务下一步行为。

  • Retry:当命中特定退出码时,作业开始新一轮重试。

  • Exit:当命中特定退出码时,作业退出。

Retry

ExitCode

integer

是

任务退出码,配合 Action 组成作业重试规则。取值范围:0~255。

1

RetryCount

integer

否

重试次数。取值范围:1~10。默认值:3。

5

TaskExecutor

array<object>

是

任务执行配置。

array<object>

否

任务执行配置。

Container

object

否

使用容器环境。

AppId

string

否

容器应用 ID。

ci-vm-32k6LXAi3cOG

Arg

array

否

容器启动命令对应的参数。最多 10 组。

string

否

容器启动命令对应的参数。

60s

Command

array

否

容器启动命令列表。最多 20 个命令,单个命令最长 256 个字符。

说明
  1. 若启动命令包含空格(例如:sleep 60s),传入的 JSON 格式参数为["sleep", "60s"]。

  2. 若启动命令较复杂,参数格式可以采用Command: ["/bin/bash"]和Arg:["-c", "<customized command>"]组合的方式。其中<customized command>为用户自定义的命令组合,可包含空格等字符。

string

否

容器启动命令内容。每个命令最多包含 256 个字符。

sleep

EnvironmentVars

array<object>

否

容器的环境变量。最多 20 组。

object

否

容器的环境变量。

Name

string

否

环境变量名。长度为 1~128 位。格式要求:[0-9a-zA-Z],以及下划线,不能以数字开头。

PATH

Value

string

否

环境变量值。长度为 0~256 位。

/usr/local/bin

GpuDriverVersion

string

否

指定 GPU 驱动版本。

tesla=535

Image

string

是

容器镜像。

registry-vpc.cn-hangzhou.aliyuncs.com/ehpc/hpl:latest

ImageRegistryOptions

string

否

自建镜像仓库挂载参数列表。为 KV 形式,采用 JSON 传递。

  • 参考格式:{"ImageRegistryType":"https","ImageRegistryServer":"xxx","ImageRegistryUserName":"xxx","ImageRegistryPassword":"xxx"}

{"ImageRegistryType":"https","ImageRegistryServer":"xxx","ImageRegistryUserName":"xxx","ImageRegistryPassword":"xxx"}

Privileged

boolean

否

是否以特权模式运行容器。默认值:false。

true

WorkingDir

string

否

容器工作目录。

/usr/local/

VM

object

否

使用虚拟机环境。

AppId

string

否

虚拟机应用 ID。

ci-vm-9jc58Pm5Leky

EnvironmentVars

array<object>

否

虚拟机的环境变量。

object

否

虚拟机的环境变量。

Name

string

否

环境变量名。

PATH

Value

string

否

环境变量值。

/usr/local/bin

Image

string

是

镜像 ID。

m-xxxx

Password

string

否

虚拟机环境登录密码。长度为 8 至 30 个字符,必须同时包含大小写英文字母、数字和特殊符号中的三类字符。特殊符号可以是:

()`~!@#$%^&*-_+=|{}[]:;'<>,.?/ 其中,Windows 环境不能以正斜线(/)为密码首字符。

说明

如果传入 Password 参数,建议您使用 HTTPS 协议发送请求,避免密码泄露。

EHPC@1234

PrologScript

string

否

前处理脚本。需 Base64 编码。

ZWNobyBoZWxsbyBlY3Mh

Script

string

否

运行作业脚本。需 Base64 编码。

ZWNobyBoZWxsbyBlY3Mh

VolumeMount

array<object>

否

任务挂载的数据卷列表。最多 10 组。

object

否

任务挂载的数据卷列表。

MountOptions

string

否

数据卷挂载参数列表。为 KV 形式,采用 JSON 传递。

  • 挂载 NAS 参考格式:{"server":"xxxxx-xxxxx.cn-heyuan.nas.aliyuncs.com","vers":"3","path":"/data","options":"nolock,tcp,noresvport"}

说明

server 表示 NAS 的挂载点地址;path 表示 NAS 路径下的子目录,以 / 开头,要求目录必须已存在;vers 表示挂载 NAS 的 NFS 协议版本号,推荐使用 v3;options 表示挂载 NAS 时定制化参数,格式为"xxx,xxx,xxx"。

  • 挂载 OSS 参考格式:{"bucket":"xxxxx", "url":"oss-cn-heyuan-internal.aliyuncs.com","path":"/data","akId":"xxxxx","akSecret":"xxxxx"}

说明

bucket 表示 OSS Bucket 的名称;url 表示 OSS Bucket 的访问域名(Endpoint),可以登录 OSS 管理控制台,在目标 Bucket 的概览页面获取;path 表示挂载时相对 Bucket 根文件的目录结构,默认为/,要求目录必须已存在;akId 表示使用 AccessKey 直接授权时,对应的 AccessKey ID;akSecret 表示使用 AccessKey 直接授权时,对应的 AccessKey Secret。

{"server":"xxxxx-xxxxx.cn-heyuan.nas.aliyuncs.com","vers":"3","path":"/data","options":"nolock,tcp,noresvport"}

MountPath

string

否

任务挂载数据卷的目录。

说明

挂载目录下的内容会被 Volume 的内容直接覆盖,请谨慎使用。

/mnt

ReadOnly

boolean

否

数据卷是否只读。默认值:false。

false

VolumeDriver

string

否

当前支持的数据卷类型。

  • alicloud/nas: 挂载 NAS。

  • alicloud/oss: 挂载 OSS。

alicloud/nas

TaskSustainable

boolean

否

是否是长时间运行的作业。

  • true: 后台服务作业。

  • false: 批处理作业。

默认值:false

枚举值:

  • false :

    false

  • true :

    true

true

DeploymentPolicy

object

否

资源部署策略。

AllocationSpec

string

否

资源类型。

  • Standard:标准型。

  • Dedicated:专属型,需开通白名单使用。

  • Economic:经济型,需开通白名单使用。

Dedicated

Level

string

否

算力等级,仅在资源类型为经济型时有效。支持以下类型:

  • General:通用型。

  • Performance:性能型。

默认值:General

General

Network

object

否

网络配置信息。

EnableExternalIpAddress

boolean

否

作业是否创建公网 IP。

  • true:创建公网 IP。

  • false: 不创建公网 IP。

默认值:false

枚举值:

  • false :

    false

  • true :

    true

true

Vswitch

array

否

交换机数组。

string

否

交换机 ID。

vsw-xxxx

Pool

string

否

作业资源池。

compute

Priority

integer

否

作业优先级。取值越大,作业调度优先级越高。取值范围:1~100。

1

Tag

array<object>

否

作业标签信息。最多 20 组。

object

否

作业标签信息。

Key

string

是

作业标签键。一旦传入该值,则不允许为空字符串。最多支持 128 个字符,不能以 aliyun 和 acs:开头,不能包含 http://或 https://。

TestKey

Value

string

否

作业标签值。一旦传入该值,可以为空字符串。最多支持 128 个字符,不能包含 http://或者 https://。

TestValue

JobScheduler

string

否

作业调度器类型。

  • HPC

  • K8S

默认值:HPC

HPC

SecurityPolicy

object

否

安全策略。

SecurityGroup

object

否

安全组。

SecurityGroupIds

array

否

安全组 ID 数组。

string

否

安全组 ID。

sg-xxxxxxxxxxxxxxx

DependencyPolicy

object

否

依赖策略。

JobDependency

array<object>

否

作业依赖。最多 10 组。

object

否

作业依赖。

JobId

string

是

作业 ID。

job-bjxxxxxxxxxxxx

Type

string

否

依赖类型。取值范围:

  • AfterSucceeded:所依赖作业或数组作业所有子任务运行成功(退出码为 0)。

  • AfterFailed:所依赖作业或数组作业任一子任务运行失败(退出码非 0)。

  • AfterAny:所依赖作业运行结束(成功或失败)。

  • AfterCorresponding:所依赖数组作业对应的子任务运行成功(退出码为 0)。

默认值:AfterSucceeded。

枚举值:

  • AfterFailed :

    依赖作业或数组作业任一子任务运行失败

  • AfterSucceeded :

    依赖作业或数组作业全部子任务运行成功

  • AfterCorresponding :

    依赖数组作业对应子任务运行成功

  • AfterAny :

    依赖作业运行结束

AfterSucceeded

JobTemplateId

string

否

作业模板 ID。

jt-xxxx

返回参数

名称

类型

描述

示例值

object

Schema of Response

JobId

string

作业 ID。

job-xxxx

RequestId

string

请求 ID。

896D338C-E4F4-41EC-A154-D605E5DE****

Tasks

array<object>

任务列表。

object

任务列表详情。

ExecutorIds

array

任务包含的 Executor ID 列表。

string

Executor ID。格式为 JobId-TaskName-ArrayIndex。

[\"job-xxxx-task0_11-2\"]

TaskName

string

任务名称。

task0

示例

正常返回示例

JSON格式

{
  "JobId": "job-xxxx",
  "RequestId": "896D338C-E4F4-41EC-A154-D605E5DE****",
  "Tasks": [
    {
      "ExecutorIds": [
        "[\\\"job-xxxx-task0_11-2\\\"]"
      ],
      "TaskName": "task0"
    }
  ]
}

错误码

HTTP status code

错误码

错误信息

描述

400 InvalidParams The specified parameter %s is invalid. 无效的参数:%s
400 InDebt Your account has overdue payments. 您的账户已欠费
400 NotEnabled You have not enabled this service. 您的账户还未开通此服务
403 GetResourceFailed Failed to get resource. 获取资源失败
403 RecommendEmpty.InstanceTypeSoldOut The resource is out of stock. 资源已售罄
403 DuplicateTagKey Duplicate tag key exists: %s. 存在重复的标签主键。
403 PoolNotFound The specified pool was not found. 资源池不存在
403 PoolStatusInvalid The specified pool in invalid status. 无效资源池状态
403 QuotaExceeded.PrivateIpAddress Insufficient private IP addresses in vSwitch: %s. vSwitch可用私网IP不足量: %s
403 SecurityGroupInstanceLimitExceed The maximum number of instances in a security group is exceeded. 安全组内已有的实例数量已达到最大限制。
403 QuotaExceeded.Resource Insufficient resource quota. 资源配额不足
403 QuotaExceeded.Executor Insufficient pool executor quota. 资源池执行节点配额不足。
404 ImageNotFound The specified image does not exist. 指定的镜像不存在,请您检查该参数是否正确。
404 SecurityGroupNotExists The security group does not exist. 安全组不存在
404 JobTemplateNotFound The specified job template is not found. 指定的作业模板不存在。
406 AliyunError An Alibaba Cloud product error occurred. 阿里云产品错误. %s
406 EcsError An error occurred while calling the ECS API operation. ECS API调用出错
406 DbError A database error occurred. 数据库错误
406 TagError Tag operation error. 标签操作报错。
407 NotAuthorized No authorization is granted. 未授权

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

变更历史

更多信息,参考变更详情。