为指定集群创建一个作业。
接口说明
请确保在使用该接口前,已充分了解 E-HPC 产品的收费方式和价格。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
授权信息
下表是API对应的授权信息,可以在RAM权限策略语句的Action
元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:
- 操作:是指具体的权限点。
- 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
- 资源类型:是指操作中支持授权的资源类型。具体说明如下:
- 对于必选的资源类型,用背景高亮的方式表示。
- 对于不支持资源级授权的操作,用
全部资源
表示。
- 条件关键字:是指云产品自身定义的条件关键字。
- 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作 | 访问级别 | 资源类型 | 条件关键字 | 关联操作 |
---|---|---|---|---|
ehpc:CreateJob | create |
|
| 无 |
请求参数
名称 | 类型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
ClusterId | string | 是 | 集群 ID。 您可以通过调用 ListClusters 获取集群 ID。 | ehpc-hz-FYUr32**** |
JobName | string | 否 | 作业名称。 | TestJob |
JobSpec | object | 否 | 作业配置信息。 | |
CommandLine | string | 是 | 作业运行命令或脚本,如果是命令,需指定命令完整路径,如: /bin/ping; 如果希望通过脚本运行作业,则对应脚本需要有可执行权限。集群侧默认以用户根目录作为脚本默认路径,即~/目录。如您的脚本不在该目录下,需在该参数中指定完整路径,如:/home/xxx/job.sh。请注意在这种方式下,如果脚本中指定了 CPU、内存等资源需求,作业将以脚本中指定的资源为准,请不要在 Resource 参数中指定相关资源需求,否则作业可能运行失败。 如果希望直接通过命令行命令运行作业,则需要指定命令的绝对路径,并在前面添加--,如:-- /bin/ping -c 10 localhost | /home/xxx/test.job |
RunasUser | string | 否 | 提交作业所使用的用户,该用户属于集群侧用户 | testuser |
RunasUserPassword | string | 否 | RunasUser 参数所指定用户的密码 | xxx |
Priority | string | 否 | 作业优先级 | 1 |
StdoutPath | string | 否 | 作业标准输出文件,需要指定完整路径 | /home/xxx/job.out |
StderrPath | string | 否 | 作业标准错误输出文件,需要指定完整路径 | /home/xxx/job.err |
JobQueue | string | 否 | 作业所属队列。 | comp |
ArrayRequest | string | 否 | 数组作业参数。 格式为 X-Y:Z, 最小值 X 是第一个索引,最大值 Y 是最后一个索引,Z 表示步长,例如 2-7:2,表示作业队列包含编号为 2、4、6 的 3 个子作业。 | 1-5:2 |
Variables | string | 否 | 作业的环境变量。json 数组格式的字符串,每个数组成员为 json 格式对象,包含 Name 和 Value 两个成员,Name 表示环境变量的名称,Value 表示环境变量的值。 | [{"Name":"x", "Value":"y"}] |
PostCmdLine | string | 否 | 作业后处理命令。 | /bin/sleep 10 |
WallTime | string | 否 | 作业最大运行时间,格式为 | 360:48:50 |
Resources | object | 否 | 作业所需资源配置。 | |
Nodes | integer | 否 | 作业需要分配的计算节点数。 | 2 |
Cores | integer | 否 | 作业每个计算节点需要分配的 CPU 核数。 | 2 |
Memory | string | 否 | 作业每个计算节点需要分配的内存大小,字符串格式,包含单位,mb(M 字节)或 gb(千兆字节)。 | 4gb |
Gpus | integer | 否 | 作业每个计算节点需要分配的 GPU 数。 | 1 |
返回参数
示例
正常返回示例
JSON
格式
{
"RequestId": "A0A38A38-1565-555E-B597-E48A2E******",
"JobId": "Submitted batch job 10\\n",
"Success": "true"
}
错误码
HTTP status code | 错误码 | 错误信息 | 描述 |
---|---|---|---|
400 | InvalidParams | The specified parameter %s is invalid. | 指定的参数 %s 无效。 |
403 | InvalidClusterStatus | The operation failed due to invalid cluster status. | 集群状态不允许执行本次操作。 |
404 | ClusterNotFound | The specified cluster does not exist. | 指定的集群不存在,请您检查该参数是否正确。 |
406 | EcsError | An error occurred while calling the ECS API operation. | ECS API调用出错 |
406 | AgentError | The agent service request failed: %s | 操作未成功:%s |
406 | AgentError.Job.SubmitFailure | Failed to submit jobs: %s | 提交作业失败: {%s} |
406 | AgentError.Job.DeleteFailure | Failed to delete job: %s | 删除作业失败: {} |
406 | AgentError.Job.InvalidContainerType | Unsupported container type: %s. | 无效容器类型:%s |
406 | AgentError.Job.ListFailure | Failed to list jobs: %s. | 获取作业列表失败:{} |
406 | AgentError.Job.RerunFailure | Failed to run the job again: %s. | 重运行作业失败: {} |
406 | AgentError.Job.StopFailure | Failed to stop jobs: %s. | 停止作业失败:{} |
503 | ServiceUnavailable | The request has failed due to a temporary failure of the server | 请求失败,服务暂时不可用 |
访问错误中心查看更多错误码。