CreateJob - 创建作业

为指定集群创建一个作业。

接口说明

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

调试

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

授权信息

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

  • 操作:是指具体的权限点。
  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
    • 对于必选的资源类型,用背景高亮的方式表示。
    • 对于不支持资源级授权的操作,用全部资源表示。
  • 条件关键字:是指云产品自身定义的条件关键字。
  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作访问级别资源类型条件关键字关联操作
ehpc:CreateJobcreate
  • 全部资源
    *

请求参数

名称类型必填描述示例值
ClusterIdstring

集群 ID。

您可以通过调用 ListClusters 获取集群 ID。

ehpc-hz-FYUr32****
JobNamestring

作业名称。

TestJob
JobSpecobject

作业配置信息。

CommandLinestring

作业运行命令或脚本,如果是命令,需指定命令完整路径,如: /bin/ping;

如果希望通过脚本运行作业,则对应脚本需要有可执行权限。集群侧默认以用户根目录作为脚本默认路径,即~/目录。如您的脚本不在该目录下,需在该参数中指定完整路径,如:/home/xxx/job.sh。请注意在这种方式下,如果脚本中指定了 CPU、内存等资源需求,作业将以脚本中指定的资源为准,请不要在 Resource 参数中指定相关资源需求,否则作业可能运行失败。

如果希望直接通过命令行命令运行作业,则需要指定命令的绝对路径,并在前面添加--,如:-- /bin/ping -c 10 localhost

/home/xxx/test.job
RunasUserstring

提交作业所使用的用户,该用户属于集群侧用户

testuser
RunasUserPasswordstring

RunasUser 参数所指定用户的密码

xxx
Prioritystring

作业优先级

1
StdoutPathstring

作业标准输出文件,需要指定完整路径

/home/xxx/job.out
StderrPathstring

作业标准错误输出文件,需要指定完整路径

/home/xxx/job.err
JobQueuestring

作业所属队列。

comp
ArrayRequeststring

数组作业参数。

格式为 X-Y:Z, 最小值 X 是第一个索引,最大值 Y 是最后一个索引,Z 表示步长,例如 2-7:2,表示作业队列包含编号为 2、4、6 的 3 个子作业。

1-5:2
Variablesstring

作业的环境变量。json 数组格式的字符串,每个数组成员为 json 格式对象,包含 Name 和 Value 两个成员,Name 表示环境变量的名称,Value 表示环境变量的值。

[{"Name":"x", "Value":"y"}]
PostCmdLinestring

作业后处理命令。

/bin/sleep 10
WallTimestring

作业最大运行时间,格式为小时:分钟:秒,例如01:00:00表示 1 小时。

360:48:50
Resourcesobject

作业所需资源配置。

Nodesinteger

作业需要分配的计算节点数。

2
Coresinteger

作业每个计算节点需要分配的 CPU 核数。

2
Memorystring

作业每个计算节点需要分配的内存大小,字符串格式,包含单位,mb(M 字节)或 gb(千兆字节)。

4gb
Gpusinteger

作业每个计算节点需要分配的 GPU 数。

1

返回参数

名称类型描述示例值
object

返回参数集合。

RequestIdstring

请求 ID。

A0A38A38-1565-555E-B597-E48A2E******
JobIdstring

作业 ID。

Submitted batch job 10\n
Successstring

调用是否成功。

true

示例

正常返回示例

JSON格式

{
  "RequestId": "A0A38A38-1565-555E-B597-E48A2E******",
  "JobId": "Submitted batch job 10\\n",
  "Success": "true"
}

错误码

HTTP status code错误码错误信息描述
400InvalidParamsThe specified parameter %s is invalid.指定的参数 %s 无效。
403InvalidClusterStatusThe operation failed due to invalid cluster status.集群状态不允许执行本次操作。
404ClusterNotFoundThe specified cluster does not exist.指定的集群不存在,请您检查该参数是否正确。
406EcsErrorAn error occurred while calling the ECS API operation.ECS API调用出错
406AgentErrorThe agent service request failed: %s操作未成功:%s
406AgentError.Job.SubmitFailureFailed to submit jobs: %s提交作业失败: {%s}
406AgentError.Job.DeleteFailureFailed to delete job: %s删除作业失败: {}
406AgentError.Job.InvalidContainerTypeUnsupported container type: %s.无效容器类型:%s
406AgentError.Job.ListFailureFailed to list jobs: %s.获取作业列表失败:{}
406AgentError.Job.RerunFailureFailed to run the job again: %s.重运行作业失败: {}
406AgentError.Job.StopFailureFailed to stop jobs: %s.停止作业失败:{}
503ServiceUnavailableThe request has failed due to a temporary failure of the server请求失败,服务暂时不可用

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