创建任务模板。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
调试
授权信息
|
操作 |
访问级别 |
资源类型 |
条件关键字 |
关联操作 |
|
sae:CreateJob |
create |
*全部资源
|
无 | 无 |
请求语法
POST /pop/v1/sam/job/createJob HTTP/1.1
请求参数
|
名称 |
类型 |
必填 |
描述 |
示例值 |
| AppName |
string |
是 |
任务模板名称。允许数字、字母以及短划线(-)组合。必须以字母开始,不超过 36 个字符。 |
test |
| NamespaceId |
string |
否 |
SAE 命名空间 ID。仅支持名称为小写字母加短划线(-)的命名空间,必须以字母开始。 |
cn-beijing:test |
| AppDescription |
string |
否 |
任务模板描述信息。不超过 1024 个字符。 |
This is a test description. |
| VpcId |
string |
否 |
SAE 命名空间对应的 VPC。在 SAE 中,一个命名空间只能对应一个 VPC,且不能修改。第一次在命名空间内创建 SAE 任务模板将形成绑定关系。多个命名空间可以对应一个 VPC。不填则默认为命名空间绑定的 VPC ID。 |
vpc-bp1aevy8sofi8mh1q**** |
| VSwitchId |
string |
否 |
任务实例弹性网卡所在的虚拟交换机。该交换机必须位于上述 VPC 内。该交换机与 SAE 命名空间同样存在绑定关系。不填则默认为命名空间绑定的 vSwitch ID。 |
vsw-bp12mw1f8k3jgygk9**** |
| PackageType |
string |
是 |
任务包类型。取值说明如下:
|
FatJar |
| PackageVersion |
string |
否 |
部署包的版本号。当Package Type为 FatJar、War 或 PythonZip 时必填。 |
1.0.1 |
| PackageUrl |
string |
否 |
部署包地址。当Package Type为 FatJar、War 或 PythonZip 时必填。 |
http://myoss.oss-cn-hangzhou.aliyuncs.com/my-buc/2019-06-30/****.jar |
| ImageUrl |
string |
否 |
镜像地址。当Package Type为 Image 时必填。 |
registry.cn-hangzhou.aliyuncs.com/sae_test/ali_sae_test:0.0.1 |
| Jdk |
string |
否 |
部署包依赖的 JDK 版本。支持版本如下:
当Package Type为 Image 时不支持。 |
Open JDK 8 |
| WebContainer |
string |
否 |
部署包依赖的 Tomcat 版本。支持版本如下:
当Package Type为 Image 时不支持。 |
apache-tomcat-7.0.91 |
| Cpu |
integer |
否 |
每个实例所需的 CPU,单位为毫核,不能为 0。目前仅支持以下固定规格:
|
1000 |
| Memory |
integer |
否 |
每个实例所需的内存,单位为 MB,不能为 0。与 CPU 为一一对应关系,目前仅支持以下固定规格:
|
1024 |
| Replicas |
integer |
是 |
任务并发实例数。 |
3 |
| Command |
string |
否 |
镜像启动命令。该命令必须为容器内存在的可执行的对象。示例如下:
根据上述示例,则 |
echo |
| CommandArgs |
string |
否 |
镜像启动命令参数。上述启动命令 Command 所需参数。格式如下:
在上述示例中, |
["a","b"] |
| Envs |
string |
否 |
容器环境变量参数。支持自定义或引用配置项。如需引用配置项,请先创建 ConfigMap 实例。更多信息,请参见 CreateConfigMap 。取值说明如下:
|
[{"name":"envtmp","value":"0"}] |
| CustomHostAlias |
string |
否 |
容器内自定义 Host 映射。取值说明如下:
|
[{"hostName":"samplehost","ip":"127.0.0.1"}] |
| JarStartOptions |
string |
否 |
JAR 包启动任务选项。任务默认启动命令: |
custom-option |
| JarStartArgs |
string |
否 |
JAR 包启动任务参数。任务默认启动命令: |
-Xms4G -Xmx4G |
| EdasContainerVersion |
string |
否 |
HSF 框架中任务运行环境版本,例如 Ali-Tomcat 容器。 |
3.5.3 |
| Timezone |
string |
否 |
时区,默认为Asia/Shanghai。 |
Asia/Shanghai |
| SlsConfigs |
string |
否 |
日志采集到 SLS 的配置。
参数说明如下:
多次部署时如果 SLS 采集配置没有变更,则不需要设置该参数(即请求中无需包含 SlsConfigs 字段);如果不再需要使用 SLS 采集功能,您需要在请求中将该字段的值设置为空字符串(即请求中 SlsConfigs 字段的值为"")。 说明
随任务模板自动创建的 Project 会随着任务模板删除而删除,因此在选择已有 Project 时,不能选择 SAE 自动创建的 Project。 |
[{"logDir":"","logType":"stdout"},{"logDir":"/tmp/a.log"}] |
| NasId |
string |
否 |
NAS 文件系统的 ID。部署时如果配置没有变更,则不需要设置该参数(即请求中无需包含 NasId 字段);如果需要清除 NAS 配置,您需要在请求中将该字段的值设置为空字符串(即请求中 NasId 字段的值为"")。 |
10d3b4**** |
| MountHost |
string |
否 |
NAS 在任务模板 VPC 内的挂载点。部署时如果配置没有变更,则不需要设置该参数(即请求中无需包含 MountHost 字段);如果需要清除 NAS 配置,您需要在请求中将该字段的值设置为空字符串(即请求中 MountHost 字段的值为"")。 |
10d3b4bc9****.com |
| MountDesc |
string |
否 |
NAS 挂载描述。部署时如果配置没有变更,则不需要设置该参数(即请求中无需包含 MountDesc 字段);如果需要清除 NAS 配置,您需要在请求中将该字段的值设置为空字符串(即请求中 MountDesc 字段的值为"")。 |
[{mountPath: "/tmp", nasPath: "/"}] |
| PreStop |
string |
否 |
容器停止前执行脚本。在容器被删除前触发执行一段脚本,格式如: |
{"exec":{"command":["sh","-c","echo hello"]}} |
| PostStart |
string |
否 |
容器启动后执行脚本。在容器被创建后立刻触发执行一段脚本,格式如: |
{"exec":{"command":["sh","-c","echo hello"]}} |
| WarStartOptions |
string |
否 |
设置 WAR 包部署任务的启动命令,操作步骤与镜像部署的启动命令配置操作相同。更多信息,请参见设置启动命令。 |
CATALINA_OPTS=\"$CATALINA_OPTS $Options\" catalina.sh run |
| ConfigMapMountDesc |
string |
否 |
ConfigMap 挂载描述。使用在命名空间配置项页面创建的配置项来向容器中注入配置信息。参数说明如下:
说明
可通过传递
|
[{"configMapId":16,"key":"test","mountPath":"/tmp"}] |
| SecurityGroupId |
string |
否 |
安全组 ID。 |
sg-wz969ngg2e49q5i4**** |
| AutoConfig |
boolean |
否 |
是否自动配置网络环境。取值说明如下:
|
false |
| TerminationGracePeriodSeconds |
integer |
否 |
优雅下线超时时间,默认为 30,单位为秒。取值范围为 1~300。 |
10 |
| PhpConfigLocation |
string |
否 |
PHP 任务启动配置挂载路径,需要您保证 PHP 服务器会使用这个配置文件启动。 |
/usr/local/etc/php/php.ini |
| PhpConfig |
string |
否 |
PHP 配置文件内容。 |
k1=v1 |
| TomcatConfig |
string |
否 |
Tomcat 文件配置,设置为""或"{}"表示删除配置。取值说明如下:
|
{"port":8080,"contextPath":"/","maxThreads":400,"uriEncoding":"ISO-8859-1","useBodyEncodingForUri":true} |
| OssMountDescs |
string |
否 |
OSS 挂载描述信息。参数说明如下:
|
[{"bucketName": "oss-bucket", "bucketPath": "data/user.data", "mountPath": "/usr/data/user.data", "readOnly": true}] |
| OssAkId |
string |
否 |
OSS 读写的 AccessKey ID。 |
xxxxxx |
| OssAkSecret |
string |
否 |
OSS 读写的 AccessKey Secret。 |
xxxxxx |
| AcrInstanceId |
string |
否 |
ACR 企业版实例 ID。当 ImageUrl 为容器镜像服务企业版时必填。 |
cri-xxxxxx |
| AcrAssumeRoleArn |
string |
否 |
跨账号拉取镜像时所需的 RAM 角色的 ARN。更多信息,请参见通过 RAM 角色实现跨云账号授权。 |
acs:ram::123456789012****:role/adminrole |
| ImagePullSecrets |
string |
否 |
对应保密字典 ID。 |
10 |
| EnableImageAccl |
boolean |
否 |
是否开启镜像加速。取值说明如下:
|
false |
| Workload |
string |
是 |
Workload 需指定为 |
job |
| TriggerConfig |
string |
否 |
任务触发配置,根据任务类型进行配置。
|
{"type":"time","config":"0 1 */1 * ?","timezone":"GMT+8:00"} |
| ConcurrencyPolicy |
string |
否 |
任务并发策略。取值说明如下:
|
Allow |
| Timeout |
integer |
否 |
任务超时时间,单位为秒。 |
3600 |
| BackoffLimit |
integer |
否 |
任务重试次数。 |
3 |
| Slice |
boolean |
否 |
启用任务分片。 |
true |
| SliceEnvs |
string |
否 |
任务分片参数。 |
[0,1,2] |
| RefAppId |
string |
否 |
引用的任务目标 ID。 |
7171a6ca-d1cd-4928-8642-7d5cfe69**** |
| ProgrammingLanguage |
string |
否 |
程序编程语言。支持 java、php、python 和 shell。 |
java |
| Python |
string |
否 |
Python 环境。支持PYTHON 3.9.15。 |
PYTHON 3.9.15 |
| PythonModules |
string |
否 |
自定义安装模块依赖。默认安装根目录下 requirements.txt 定义的依赖项。如果未配置或自定义软件包,可以指定安装的依赖。 |
Flask==2.0 |
| NasConfigs |
string |
否 |
||
| BestEffortType |
string |
否 |
返回参数
|
名称 |
类型 |
描述 |
示例值 |
|
object |
创建的任务模板信息。 |
||
| RequestId |
string |
请求 ID。 |
01CF26C7-00A3-4AA6-BA76-7E95F2A3*** |
| Message |
string |
附加信息。取值说明如下:
|
success |
| TraceId |
string |
调用链 ID,用于精确查询调用信息。 |
ac1a0b2215622246421415014e**** |
| Data |
object |
返回结果。 |
|
| ChangeOrderId |
string |
返回的发布单 ID,用于查询任务执行状态。 |
01db03d3-3ee9-48b3-b3d0-dfce2d88**** |
| AppId |
string |
任务模板 ID。 |
7171a6ca-d1cd-4928-8642-7d5cfe69**** |
| ErrorCode |
string |
错误码。取值说明如下:
|
空 |
| Code |
string |
接口状态或 POP 错误码。取值说明如下:
|
200 |
| Success |
boolean |
创建任务模板是否成功。取值说明如下:
|
true |
示例
正常返回示例
JSON格式
{
"RequestId": "01CF26C7-00A3-4AA6-BA76-7E95F2A3***",
"Message": "success",
"TraceId": "ac1a0b2215622246421415014e****",
"Data": {
"ChangeOrderId": "01db03d3-3ee9-48b3-b3d0-dfce2d88****",
"AppId": "7171a6ca-d1cd-4928-8642-7d5cfe69****"
},
"ErrorCode": "空",
"Code": "200",
"Success": true
}
错误码
|
HTTP status code |
错误码 |
错误信息 |
描述 |
|---|---|---|---|
| 400 | Application.MissingJdk | Your application must at least contain a JDK component. | 应用必须至少包含JDK组件。 |
| 400 | InvalidPackageType.NotFound | The package type must be War, FatJar, or Image. | 包类型必须为WAR、FatJAR或Image。 |
| 400 | InvalidParameter.FileName | The application deployment package name is invalid. This name can contain only alphanumeric characters, hyphens (-), and underscores (_). In addition, you can upload JAR files only if the selected deployment version supports JAR file. Otherwise, upload WAR files only. | |
| 400 | InvalidParameter.NotEmpty | You must specify the parameter %s. | 不合法的参数:%s不能为空。 |
| 400 | InvalidParameter.Obviously | The specified parameter is invalid {%s}. | 不合法的参数{%s}。 |
| 400 | JarApplication.MissingJdk | A FatJar application must contain JDK. | FatJar类型应用必须包含JDK。 |
| 400 | NoAvailableCluster.NotFound | No clusters are available for the current region. | 当前地域没有可用集群。 |
| 400 | NoComputeResourceQuota.Exceed | Your compute resource is insufficient. Please contact us to raise the quota. | |
| 400 | PandoraApplication.MissingJdk | The Pandora application is missing a JDK component. | Pandora应用缺少JDK组件。 |
| 400 | PandoraApplication.OnlyJdk | A Pandora application only requires JDK component. | Pandora应用只需要JDK组件。 |
| 400 | InvalidParameter.WithMessage | The parameter is invalid {%s}: %s | 不合法的参数{%s}:%s。 |
| 400 | InvalidComponent.NotFound | The current component (such as JDK, Tomcat, or EDASWebContainer) does not exist. | 找不到当前组件(JDK、Tomcat、EDASWebContainer等)。 |
| 400 | InvalidHostnameIp.Invalid | The hostname and/or IP is invalid: Hostname [%s], IP [%s]. | 主机名或IP不合法:主机名[%s],IP[%s]。 |
| 400 | InvalidInstanceSpecification.Unsupported | The instance specification is not supported: CPU [%s], memory [%s]. | 不支持的实例规格。CPU[%s],Memory[%s]。 |
| 400 | InvalidServerlessRegion.Unsupported | The current region is not supported: %s | 不支持当前地域:%s。 |
| 400 | WarApplication.MissingJdkWebcontainer | A War application must contain JDK and Tomcat. | WAR类型应用必须包含JDK和Tomcat。 |
| 400 | InvalidNamespace.WithUppercase | This namespace does not support creating SAE apps because it contains uppercase letters. | 命名空间不支持创建SAE应用,因为它带有大写字母。 |
| 400 | LogService.ConfigQuotaExceed | The maximum number of Log Service configs is exceeded. | 日志服务配置个数超过配额限制,请加入钉群32874633联系技术产品专家进行咨询。 |
| 400 | LogService.InternalError | An exception occurred while calling Log Service. Please submit a ticket to solve the problem. | 调用日志服务异常,请加入钉群32874633联系技术产品专家进行咨询。 |
| 400 | LogService.LogDirInvalid | The log collection path is invalid. | 日志采集路径不合法。 |
| 400 | LogService.NotAvailable | Log Service is unavailable. Please activate Log Service first. | 日志服务不可用,请先开通日志服务。 |
| 400 | LogService.ProjectNumQuotaExceed | The maximum number of Log Service projects is exceeded. | 日志服务项目个数超过配额限制,请加入钉群32874633联系技术产品专家进行咨询。 |
| 400 | vswitch.not.exist | The specified VSwitch does not exist. | |
| 400 | user.indebt | The user has an outstanding payment. | 当前用户处于欠费状态。 |
| 400 | NoComputeResourceQuota.App.Exceed | You can create %s instances for each application. Please submit a ticket to raise the quota. | 每个应用只允许创建%s个实例,请加入钉群32874633联系技术产品专家进行咨询。 |
| 400 | NoComputeResourceQuota.User.Exceed | Your account is limited to create %s instances. Please submit a ticket to raise the quota. | 您的账户限额%s个实例,请加入钉群32874633联系技术产品专家进行咨询。 |
| 400 | System.Upgrading | The system is being upgraded. Please try again later. | 系统正在升级,请稍后操作。 |
| 400 | VolumnPath.Conflict | Conflict between log collection directory and persistent storage directory. | 日志采集目录与持久化存储目录冲突。 |
| 400 | MountConflict.ConfigMap | Conflict detected for ConfigMap path %s. | ConfigMap挂载路径%s存在冲突。 |
| 400 | NotFound.ConfigMap | The ConfigMap object (ID: %s) does not exist. | 找不到ConfigMap对象(ID=%s)。 |
| 400 | NotFound.ConfigMapKey | The key %s of ConfigMap object (ID: %s) does not exist. | 找不到ConfigMap对象(ID=%s)的Key %s。 |
| 400 | Sls.Config.Mixed.Multi.Project | The specified Config contains multiple projects. | 您输入的SLS Config中指定了多个Project。 |
| 400 | Sls.Config.User.Defined.Missing.Logstore.Info | The specified Config is invalid. Both Project and Logstore must be specified. | 您输入的SLS Config为自定义SLS配置,但是只有Project配置,缺失Logstore配置。 |
| 400 | Sls.Config.User.Defined.Missing.Project.Info | The specified Config is invalid. Both Project and Logstore must be specified. | 您输入的SLS Config为自定义SLS配置,但是只有Logstore配置,缺失Project配置。 |
| 400 | Sls.Logstore.Name.Invalid | The specified name of Logstore is invalid. The Logstore name must not contain the prefix "sae-". | 您输入的SLS Logstore名称不合法,前缀包含了"sae-",会与SAE自动创建的Logstore混淆。 |
| 400 | Sls.Logstore.User.Defined.Not.Exist | The user defined Logstore does not exist. | 您输入的自建Logstore不存在。 |
| 400 | Sls.Project.Name.Invalid | The specified project name is invalid. The project name must not contain the prefix "sae-". | 您输入的SLS Project名称不合法,前缀包含了"sae-",会与SAE自动创建的Project混淆。 |
| 400 | Sls.Project.User.Defined.Not.Exist | The user defined project does not exist. | 您输入的自建Project不存在。 |
| 400 | InvalidImageUrl.AcrInstanceId.Domain.NotMatch | The specified domain of ImageUrl does not match AcrInstanceId domains. | 指定的镜像地址ImageUrl域名与AcrInstanceId域名不匹配。 |
| 400 | PhpApplication.MissingPhpRuntime | A PHP application must contain PHP Runtime. | PHP类型应用必须包含PHP运行时。 |
| 404 | Associate.Eip.Not.Enough | No sufficient EIPs are available. | 绑定EIP时,EIP不足,需要您购买。 |
| 404 | InvalidNamespaceId.NotFound | The specified NamespaceId does not exist. | 指定的NamespaceId不存在。 |
| 404 | InvalidVpcId.NotFound | The specified VpcId does not exist. | 指定的VpcId不存在。 |
| 404 | InvalidAcrInstanceId.NotFound | The specified AcrInstanceId does not exist. | 指定的 AcrInstanceId 不存在。 |
访问错误中心查看更多错误码。
变更历史
更多信息,参考变更详情。