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>

任务详情。

TaskName

string

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

task0

TaskSpec

object

任务规格详情。

TaskExecutor

array<object>

任务执行配置。

array<object>

任务执行配置。

Container

object

使用容器环境。

Image

string

容器镜像。

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

WorkingDir

string

容器工作目录。

/usr/local/

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

AppId

string

容器应用 ID。

ci-vm-32k6LXAi3cOG

ImageRegistryOptions

string

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

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

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

Arg

array

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

string

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

60s

VM

object

使用虚拟机环境。

Image

string

镜像 ID。

m-xxxx

PrologScript

string

前处理脚本。需 Base64 编码。

ZWNobyBoZWxsbyBlY3Mh

Script

string

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

ZWNobyBoZWxsbyBlY3Mh

AppId

string

虚拟机应用 ID。

ci-vm-9jc58Pm5Leky

Password

string

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

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

说明

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

EHPC@1234

VolumeMount

array<object>

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

object

任务挂载的数据卷列表。

MountPath

string

任务挂载数据卷的目录。

说明

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

/mnt

VolumeDriver

string

当前支持的数据卷类型。

  • alicloud/nas: 挂载 NAS。

  • alicloud/oss: 挂载 OSS。

alicloud/nas

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"}

ReadOnly

boolean

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

false

Resource

object

运行环境资源信息。

Cores

number

运行环境的 CPU 个数。

2

EnableHT

boolean

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

true

Memory

number

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

4

Disks

array<object>

云盘数组。

object

云盘数组。

Type

string

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

System

Size

integer

云盘大小。单位为 GiB。

40

HostNamePrefix

string

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

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

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

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

compute

InstanceTypes

array

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

string

运行环境的实例规格。

说明

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

ecs.c7a.8xlarge

RetryPolicy

object

任务重试策略。

RetryCount

integer

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

5

ExitCodeActions

array<object>

重试规则。最多 10 组。

object

重试规则。

ExitCode

integer

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

1

Action

string

任务下一步行为。

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

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

Retry

ExecutorPolicy

object

任务执行策略。

MaxCount

integer

作业运行最大节点数。

说明

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

1

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。

IndexStart

integer

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

0

IndexEnd

integer

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

9

IndexStep

integer

数组作业索引的间隔。

说明

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

1

TaskSustainable

boolean

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

  • true: 后台服务作业。

  • false: 批处理作业。

默认值:false

枚举值:

  • false :

    false

  • true :

    true

true

DeploymentPolicy

object

资源部署策略。

AllocationSpec

string

资源类型。

  • Standard:标准型。

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

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

Dedicated

Network

object

网络配置信息。

Vswitch

array

交换机数组。

string

交换机 ID。

vsw-xxxx

EnableExternalIpAddress

boolean

作业是否创建公网 IP。

  • true:创建公网 IP。

  • false: 不创建公网 IP。

默认值:false

枚举值:

  • false :

    false

  • true :

    true

true

Tag

array<object>

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

object

作业标签信息。

Key

string

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

TestKey

Value

string

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

TestValue

Pool

string

作业资源池。

compute

Priority

integer

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

1

Level

string

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

  • General:通用型。

  • Performance:性能型。

默认值:General

General

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。

AfterSucceeded

返回参数

名称

类型

描述

示例值

object

Schema of Response

RequestId

string

请求 ID。

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

JobId

string

作业 ID。

job-xxxx

Tasks

array<object>

任务列表。

object

任务列表详情。

TaskName

string

任务名称。

task0

ExecutorIds

array

任务包含的 Executor ID 列表。

string

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

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

示例

正常返回示例

JSON格式

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

错误码

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. 资源配额不足
404 ImageNotFound The specified image does not exist. 指定的镜像不存在,请您检查该参数是否正确。
404 SecurityGroupNotExists The security group does not exist. 安全组不存在
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. 数据库错误

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

变更历史

更多信息,参考变更详情