SubmitServerlessJob - 提交Serverless作业

调用SubmitServerlessJob提交Serverless作业到E-HPC集群。

调试

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

授权信息

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

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

请求参数

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

集群 ID。

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

ehpc-hz-FYUr32****
JobNamestring

Serverless 作业名。

说明 支持英文小写字母、数字或者短划线(-),不能以短划线开头或者结尾。
testjob
ArrayPropertiesobject

数组作业配置。

说明 数组作业索引值会通过环境变量EHPC_ARRAY_TASK_ID传入 Serverless 作业容器中,支持用户业务程序访问。
IndexStartlong

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

1
IndexEndlong

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

5
IndexSteplong

数组作业索引的间隔。

说明 若数组作业属性为 IndexStart=1,IndexEnd=5,IndexStep=2,则该数组作业包含三个子任务,子任务索引分别为 1,3,5。
2
JobPrioritylong

Serverless 作业的调度优先级。取值范围:0~999,取值越大,优先级越高。

10
EphemeralStorageinteger

为 Serverless 作业容器增加的临时存储空间大小。单位:GiB。

说明 Serverless 作业容器默认提供 30 GiB 的免费存储空间,如果您的存储需求大于 30 GiB,可以通过该参数自定义增加临时存储空间大小。
200
Timeoutlong

Serverless 作业的有效期限,超出该时间后,作业会强制终止。单位为秒。

3600
VSwitchIdarray

Serverless 作业容器所属的交换机 ID 列表。

string

交换机 ID。

说明 E-HPC 当前仅支持 VPC 网络。您可以调用 DescribeVSwitches 查询已创建的交换机的相关信息。
vsw-bp1gb5gf5546rn****
InstanceTypearray

Serverless 作业容器所采用的 ECS 实例规格列表。

string

ECS 实例规格。

ecs.g7.8xlarge
Cpufloat

Serverless 作业容器的 vCPU 大小。单位:核。

2
Memoryfloat

Serverless 作业容器的内存大小。单位:GiB。

4
SpotStrategystring

实例的抢占策略。取值范围:

  • NoSpot:正常按量付费实例。
  • SpotWithPriceLimit:设置上限价格的抢占式实例。
  • SpotAsPriceGo:系统自动出价,跟随当前市场实际价格的抢占式实例。

默认值:NoSpot。

SpotWithPriceLimit
SpotPriceLimitfloat

设置抢占式实例的每小时最高价格,最多精确到小数点后 3 位。

当 SpotStrategy 取值为 SpotWithPriceLimit 时,必须设置 SpotPriceLimit。

0.062
RamRoleNamestring

Serverless 作业容器绑定的 RAM 角色名称。

testRamRoleName
Containerobject

Serverless 作业容器的属性。

EnvironmentVarobject []

容器的环境变量值。

Keystring

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

PATH
Valuestring

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

/usr/local/bin
WorkingDirstring

容器工作目录。

/usr/local/
Imagestring

容器镜像。

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

容器启动指令列表。

string

容器启动指令。

python3
Argarray

容器启动命令对应的参数列表。最多 10 个。

string

容器启动参数。

hello.py
Gpuinteger

容器使用的 GPU 个数。

1
VolumeMountobject []

容器挂载的数据卷列表。

MountPathstring

容器挂载数据卷的目录。

说明 容器挂载目录下的内容会被 Volume 的内容直接覆盖,请谨慎使用。
/data
FlexVolumeDriverstring

使用 FlexVolume 插件挂载数据卷时的驱动类型。取值范围如下:

  • alicloud/nas:挂载 NAS。

  • alicloud/oss:挂载 OSS。

alicloud/oss
FlexVolumeOptionsstring

FlexVolume 对象选项列表。为 KV 形式,采用 JSON 传递。

{"bucket":"hpctest","url": "oss-cn-hangzhou-internal.aliyuncs.com ","path":"/data","ramRole":"AliyunECSInstanceForEHPCRole"}
DependsOnobject []

Serverless 作业依赖列表。

JobIdstring

所依赖的作业 ID。

10
Typestring

依赖类型。取值范围:

  • AfterSucceeded:所依赖作业或数组作业所有子任务运行成功(退出码为 0)。
  • AfterFailed:所依赖作业或数组作业任一子任务运行失败(退出码非 0)。
  • AfterAny:所依赖作业运行结束(成功或失败)。
  • AfterCorresponding:所依赖数组作业对应的子任务运行成功(退出码为 0)。

默认值:AfterSucceeded。

AfterAny
RetryStrategyobject

Serverless 作业重试策略。

Attemptsinteger

Serverless 作业重试次数。取值范围:1~10。

5
EvaluateOnExitobject []

Serverless 作业重试规则列表。最多 10 个。

Actionstring

作业行为。取值范围如下:

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

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

Retry
OnExitCodestring

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

10

返回参数

名称类型描述示例值
object
JobIdstring

Serverless 作业 ID。

10
RequestIdstring

请求 ID。

04F0F334-1335-436C-A1D7-6C044FE73368

示例

正常返回示例

JSON格式

{
  "JobId": "10",
  "RequestId": "04F0F334-1335-436C-A1D7-6C044FE73368"
}

错误码

HTTP status code错误码错误信息描述
400InvalidParamsThe specified parameter %s is invalid.指定的参数 %s 无效。
400NotEnabledYou have not enabled this service您的账户还未开通此服务
400InDebtYour account has overdue payments.您的账户已欠费
403InvalidClusterStatusThe operation failed due to invalid cluster status.集群状态不允许执行本次操作。
403ConflictOptA conflicting operation is running.有冲突的操作在执行中,请您稍后再试。
404ClusterNotFoundThe specified cluster does not exist.指定的集群不存在,请您检查该参数是否正确。
406EcsErrorAn error occurred while calling the ECS API operation.ECS API调用出错
406DbErrorA database service error occurred.数据库请求失败
406AliyunErrorAn Alibaba Cloud product error occurred.阿里云产品错误
406AgentErrorThe agent service request failed: %s代理请求失败
406ServiceAPIErrorFailed to call the operation. Cause:%sAPI调用失败。%s
407NotAuthorizedYou are not authorized by RAM for this request.此请求未获得RAM授权
409PartFailurePart of the batch operation failed.批量操作部分失败
500UnknownErrorAn unknown error occurred.未知错误
503ServiceUnavailableThe request has failed due to a temporary failure of the server请求失败,服务暂时不可用

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

变更历史

变更时间变更内容概要操作
2023-09-06OpenAPI 错误码发生变更、OpenAPI 入参发生变更看变更集
变更项变更内容
错误码OpenAPI 错误码发生变更
    删除错误码:400
    删除错误码:403
    删除错误码:404
    删除错误码:406
    删除错误码:407
    删除错误码:409
    删除错误码:500
    删除错误码:503
入参OpenAPI 入参发生变更
    新增入参:RetryStrategy
2023-07-25OpenAPI 错误码发生变更看变更集
变更项变更内容
错误码OpenAPI 错误码发生变更
    错误码 406 变更
    删除错误码:400
    删除错误码:403
    删除错误码:404
    删除错误码:407
    删除错误码:409
    删除错误码:500
    删除错误码:503
2023-07-21OpenAPI 错误码发生变更看变更集
变更项变更内容
错误码OpenAPI 错误码发生变更
    错误码 406 变更
    删除错误码:400
    删除错误码:403
    删除错误码:404
    删除错误码:407
    删除错误码:409
    删除错误码:500
    删除错误码:503