CreateApplication_Serverless 应用引擎_API文档

插件下载了解更多
VS Code 插件
安装插件之前,确保已安装 VS Code安装插件之前,确保已安装 VS Code
Alibaba Cloud Developer Toolkit is a collection of extensions that can help access Alibaba Cloud services in Visual Studio Code.
JetBrains 插件
安装插件之前,确保已安装 JetBrains IDE安装插件之前,确保已安装 JetBrains IDE
The Alibaba Cloud Developer Toolkit for JetBrains makes it easier to access Alibaba Cloud services.

流控信息

当前云产品API请求速率暂未透出。

授权信息

如下是此API对应的授权信息,用于RAM权限策略语句的Action元素中,为RAM用户或RAM角色授予调用此API的权限。请通过 RAM 访问控制设置,使用方法可参考访问控制帮助文档

具体说明如下:展开详情

操作访问级别资源类型条件关键字关联操作
sae:CreateApplication
Create
全部资源
*

请求语法

POST /pop/v1/sam/app/createApplication HTTP/1.1

请求参数

字段名称字段详情
AppNamestring

应用名称。允许数字、字母以及短划线(-)组合。必须以字母开始,不允许以短划线(-)结尾,不超过 36 个字符。

示例值:test参考取值来源:
    GetApplication
NamespaceIdstring

SAE 命名空间 ID。仅支持名称为小写字母加短划线(-)的命名空间,必须以字母开始。展开详情

示例值:cn-beijing:test参考取值来源:
    UpdateNamespace
    CreateNamespace
    DescribeNamespace
AppDescriptionstring

应用描述信息。不超过 1024 个字符。

示例值:This is a test description.
VpcIdstring

SAE 命名空间对应的 VPC。在 SAE 中,一个命名空间只能对应一个 VPC,且不能修改。第一次在命名空间内创建 SAE 应用将形成绑定关系。多个命名空间可以对应一个 VPC。不填则默认为命名空间绑定的 VPC ID。

示例值:vpc-bp1aevy8sofi8mh1q****
VSwitchIdstring

应用实例弹性网卡所在的虚拟交换机。该交换机必须位于上述 VPC 内。该交换机与 SAE 命名空间同样存在绑定关系。不填则默认为命名空间绑定的 vSwitch ID。

示例值:vsw-bp12mw1f8k3jgygk9****
PackageTypestring

应用包类型。取值说明如下:展开详情

示例值:FatJar
PackageVersionstring

部署包的版本号。当Package TypeFatJarWarPythonZip 时必填。

示例值:1.0.0
PackageUrlstring

部署包地址。当Package TypeFatJarWarPythonZip 时必填。

示例值:http://myoss.oss-cn-****.aliyuncs.com/my-buc/2019-06-30/****.jar
ImageUrlstring

镜像地址。当Package TypeImage 时必填。

示例值:registry.cn-hangzhou.aliyuncs.com/sae_test/ali_sae_test:0.0.1
Jdkstring

部署包依赖的 JDK 版本。支持版本如下:展开详情

示例值:Open JDK 8
WebContainerstring

WebContainer 部署包依赖的 Tomcat 版本。支持版本如下:展开详情

示例值:apache-tomcat-7.0.91
Cpuinteger<int32>

每个实例所需的 CPU,单位为毫核,不能为 0。目前仅支持以下固定规格:展开详情

示例值:1000
Memoryinteger<int32>

每个实例所需的内存,单位为 MB,不能为 0。与 CPU 为一一对应关系,目前仅支持以下固定规格:展开详情

示例值:1024
Replicasinteger<int32>

初始实例数。

示例值:1
Commandstring

镜像启动命令。该命令必须为容器内存在的可执行的对象。示例如下:展开详情

示例值:echo
CommandArgsstring

镜像启动命令参数。上述启动命令 Command 所需参数。格式如下:展开详情

示例值:["a","b"]
Envsstring

容器环境变量参数。支持自定义或引用配置项。如需引用配置项,请先创建 ConfigMap 实例。更多信息,请参见 CreateConfigMap 。取值说明如下:展开详情

示例值:[ { "name": "sae-sys-configmap-all-hello", "valueFrom": { "configMapRef": { "configMapId": 100, "key": "" } } }, { "name": "hello", "valueFrom": { "configMapRef": { "configMapId": 101, "key": "php-fpm" } } }, { "name": "envtmp", "value": "newenv" } ]
CustomHostAliasstring

容器内自定义 Host 映射。取值说明如下:展开详情

示例值:[{"hostName":"samplehost","ip":"127.0.0.1"}]
JarStartOptionsstring

JAR 包启动应用选项。应用默认启动命令:$JAVA_HOME/bin/java $JarStartOptions -jar $CATALINA_OPTS "$package_path" $JarStartArgs

示例值:-Xms4G -Xmx4G
JarStartArgsstring

JAR 包启动应用参数。应用默认启动命令:$JAVA_HOME/bin/java $JarStartOptions -jar $CATALINA_OPTS "$package_path" $JarStartArgs

示例值:custom-args
Livenessstring

容器健康检查,健康检查失败的容器将被关闭并恢复。支持方式如下:展开详情

示例值:{"exec":{"command":["sh","-c","cat /home/admin/start.sh"]},"initialDelaySeconds":30,"periodSeconds":30,"timeoutSeconds":2}
Readinessstring

应用启动状态检查,多次健康检查失败的容器将被关闭并重启。不通过健康检查的容器将不会有 SLB 流量进入。支持 exechttpGettcpSocket 方式。具体示例,请参见 Liveness 参数。展开详情

示例值:{"exec":{"command":["sh","-c","cat /home/admin/start.sh"]},"initialDelaySeconds":30,"periodSeconds":30,"timeoutSeconds":2}
Deployboolean

是否立即部署。取值说明如下:展开详情

示例值:true
EdasContainerVersionstring

HSF 框架中应用运行环境版本,例如 Ali-Tomcat 容器。

示例值:3.5.3参考取值来源:
    DescribeEdasContainers
Timezonestring

时区,默认为Asia/Shanghai

示例值:Asia/Shanghai
SlsConfigsstring

日志采集到 SLS 的配置。展开详情

示例值:[{"logDir":"","logType":"stdout"},{"logDir":"/tmp/a.log"}]
NasIdstring

不推荐配置该字段,推荐配置 NasConfigs。挂载的 NAS 的 ID,必须与集群处在同一个地域。它必须有可用的挂载点创建额度,或者其挂载点已经在 VPC 内的交换机上。如果不填,且存在 mountDescs 字段,则默认将自动购买一个 NAS 并挂载至 VPC 内的交换机上。展开详情

示例值:KSAK****
MountHoststring

不推荐配置该字段,推荐配置 NasConfigs。NAS 在应用 VPC 内的挂载点。部署时如果配置没有变更,则不需要设置该参数(即请求中无需包含 MountHost 字段);如果需要清除 NAS 配置,您需要在请求中将该字段的值设置为空字符串(即请求中 MountHost 字段的值为"")。

示例值:example.com
MountDescstring

不推荐配置该字段,推荐配置 NasConfigs。NAS 挂载描述。部署时如果配置没有变更,则不需要设置该参数(即请求中无需包含 MountDesc 字段);如果需要清除 NAS 配置,您需要在请求中将该字段的值设置为空字符串(即请求中 MountDesc 字段的值为"")。

示例值:[{mountPath: "/tmp", nasPath: "/"}]参考取值来源:
    DescribeJob
PreStopstring

容器停止前执行脚本。在容器被删除前触发执行一段脚本,格式如:{"exec":{"command":\["cat","/etc/group"]}}

示例值:{"exec":{"command":["cat","/etc/group"]}}
PostStartstring

容器启动后执行脚本。在容器被创建后立刻触发执行一段脚本,格式如:{"exec":{"command":\["cat","/etc/group"]}}

示例值:{"exec":{"command":["cat","/etc/group"]}}
WarStartOptionsstring

设置 WAR 包部署应用的启动命令,操作步骤与镜像部署的启动命令配置操作相同。更多信息,请参见设置启动命令

示例值:CATALINA_OPTS=\"$CATALINA_OPTS $Options\" catalina.sh run
ConfigMapMountDescstring

ConfigMap 挂载描述。使用在命名空间配置项页面创建的配置项来向容器中注入配置信息。参数说明如下:展开详情

示例值:[{"configMapId":16,"key":"test","mountPath":"/tmp"}]参考取值来源:
    DescribeApplicationConfig
SecurityGroupIdstring

安全组 ID。

示例值:sg-wz969ngg2e49q5i4****
AutoConfigboolean

是否自动配置网络环境。取值说明如下:展开详情

示例值:true
TerminationGracePeriodSecondsinteger<int32>

优雅下线超时时间,默认为 30,单位为秒。取值范围为 1~300。

示例值:30取值 <= 6000
PhpArmsConfigLocationstring

PHP 应用监控挂载路径,需要您保证 PHP 服务器一定会加载这个路径的配置文件。展开详情

示例值:/usr/local/etc/php/conf.d/arms.ini参考取值来源:
    DescribeApplicationConfig
PhpConfigLocationstring

PHP 应用启动配置挂载路径,需要您保证 PHP 服务器会使用这个配置文件启动。

示例值:/usr/local/etc/php/php.ini参考取值来源:
    DescribeApplicationConfig
PhpConfigstring

PHP 配置文件内容。

示例值:k1=v1参考取值来源:
    DescribeApplicationConfig
TomcatConfigstring

Tomcat 文件配置,设置为""或"{}"表示删除配置:展开详情

示例值:{"port":8080,"contextPath":"/","maxThreads":400,"uriEncoding":"ISO-8859-1","useBodyEncodingForUri":true}参考取值来源:
    DescribeApplicationConfig
OssMountDescsstring

OSS 挂载描述信息。参数说明如下:展开详情

示例值:[{"bucketName": "oss-bucket", "bucketPath": "data/user.data", "mountPath": "/usr/data/user.data", "readOnly": true}]
OssAkIdstring

OSS 读写的 AccessKey ID。

示例值:xxxxxx
OssAkSecretstring

OSS 读写的 AccessKey Secret。

示例值:xxxxxx
Phpstring

PHP 部署包依赖的 PHP 版本。镜像不支持。

示例值:PHP-FPM 7.0
AcrInstanceIdstring

容器镜像服务 ACR 企业版实例 ID。当 ImageUrl 为容器镜像服务企业版时必填。

示例值:cri-xxxxxx
AcrAssumeRoleArnstring

跨账号拉取镜像时所需的 RAM 角色的 ARN。更多信息,请参见通过 RAM 角色实现跨云账号授权

示例值:acs:ram::123456789012****:role/adminrole
ImagePullSecretsstring

对应保密字典 ID。

示例值:10
AssociateEipboolean

是否绑定 EIP。取值说明如下:展开详情

示例值:true
ProgrammingLanguagestring

创建应用的技术栈语言。取值说明如下:展开详情

示例值:java
KafkaConfigsstring

日志采集到 Kafka 的配置汇总信息。取值说明如下:展开详情

示例值:{"kafkaEndpoint":"10.0.X.XXX:XXXX,10.0.X.XXX:XXXX,10.0.X.XXX:XXXX","kafkaInstanceId":"alikafka_pre-cn-7pp2l8kr****","kafkaConfigs":[{"logType":"file_log","logDir":"/tmp/a.log","kafkaTopic":"test2"},{"logType":"stdout","logDir":"","kafkaTopic":"test"}]}
PvtzDiscoverySvcstring

开启 K8s Service 服务注册发现。取值说明如下:展开详情

示例值:{"serviceName":"bwm-poc-sc-gateway-cn-beijing-front","namespaceId":"cn-beijing:front","portAndProtocol":{"18012":"TCP"},"enable":true,"portProtocols":[{"port":18012,"protocol":"TCP"}]}
MicroRegistrationstring

选择 Nacos 注册中心,取值说明如下:展开详情

示例值:"0"
MicroRegistrationConfigstring

注册中心配置信息。

示例值:{\"instanceId\":\"mse-cn-zvp2bh6h70r\",\"namespace\":\"4c0aa74f-57cb-423c-b6af-5d9f2d0e3dbd\"}参考取值来源:
    DescribeApplicationConfig
NasConfigsstring

挂载 NAS 的配置。取值说明如下:展开详情

示例值:[{"mountPath":"/test1","readOnly":false,"nasId":"nasId1","mountDomain":"nasId1.cn-shenzhen.nas.aliyuncs.com","nasPath":"/test1"},{"nasId":"nasId2","mountDomain":"nasId2.cn-shenzhen.nas.aliyuncs.com","readOnly":false,"nasPath":"/test2","mountPath":"/test2"}]
Pythonstring

Python 环境。支持PYTHON 3.9.15

示例值:PYTHON 3.9.15
PythonModulesstring

自定义安装模块依赖。默认安装根目录下 requirements.txt 定义的依赖项。如果未配置或自定义软件包,可以指定安装的依赖。

示例值:Flask==2.0
Dotnetstring

.NET 框架的版本号:展开详情

示例值:.NET 3.1
EnableEbpfstring

基于 eBPF 技术,对非 Java 应用开启应用监控能力。取值说明如下:展开详情

示例值:false
SaeVersionstring

SAE 版本。支持版本如下:展开详情

示例值:v1枚举值:v1v2
AppSourcestring

选择 micro_service,即为微服务应用。

示例值:micro_service参考取值来源:
    DescribeApplicationConfig
BaseAppIdstring

基础应用 ID。

示例值:ee99cce6-1c8e-4bfa-96c3-3e2fa9de8a41参考取值来源:
    GetApplication
ServiceTagsstring

应用配置的灰度标签

示例值:{\"alicloud.service.tag\":\"g1\"}参考取值来源:
    DescribeAppServiceDetail
EnableNewArmsboolean

是否启用新的 ARMS 功能:展开详情

示例值:false
EnableCpuBurstboolean

是否启用 CPU Burst 功能:展开详情

示例值:true
OidcRoleNamestring

设置身份认证服务 RAM 角色。展开详情

示例值:sae-test
SidecarContainersConfigarray<SidecarContainerConfig>

容器配置信息。

SecretMountDescstring

Secret 挂载描述。使用在命名空间保密字典页面创建的保密字典来向容器中注入保密信息。参数说明如下:展开详情

示例值:[{“secretId":10,”key":"test","mountPath":"/tmp"}]参考取值来源:
    DescribeApplicationConfig
EnableSidecarResourceIsolatedboolean

是否启用 Sidecar 资源隔离:展开详情

示例值:true
CustomImageNetworkTypestring

自定义镜像类型,如果非自定义镜像,需要设置为空字符串:展开详情

示例值:internet
ResourceTypestring

资源类型。支持 NULL(默认)、default(默认)和 haiguang(海光服务器)类型。

示例值:NULL
NewSaeVersionstring
MicroserviceEngineConfigstring
参考取值来源:
    DescribeConfigurationPrice

返回参数

字段名称字段详情
RequestIdstring

请求 ID。

示例值:91F93257-7A4A-4BD3-9A7E-2F6EAE6D****
Messagestring

附加信息。取值说明如下:展开详情

示例值:success
TraceIdstring

调用链 ID,用于精确查询调用信息。

示例值:0a98a02315955564772843261e****
Dataobject

返回结果。

ErrorCodestring

错误码。取值说明如下:展开详情

示例值:
Codestring

接口状态或 POP 错误码。取值说明如下:展开详情

示例值:200
Successboolean

创建应用是否成功。取值说明如下:展开详情

示例值:true

返回示例

错误码

全局错误码
HTTP 状态码错误码错误信息操作
400
Application.MissingJdk
Your application must at least contain a JDK component.诊断
400
InvalidPackageType.NotFound
The package type must be War, FatJar, or Image.诊断
400
InvalidParameter.NotEmpty
You must specify the parameter %s.诊断
400
InvalidParameter.Obviously
The specified parameter is invalid {%s}.诊断
400
JarApplication.MissingJdk
A FatJar application must contain 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.诊断
400
PandoraApplication.OnlyJdk
A Pandora application only requires JDK component.诊断
400
InvalidParameter.WithMessage
The parameter is invalid {%s}: %s诊断
400
InvalidComponent.NotFound
The current component (such as JDK, Tomcat, or EDASWebContainer) does not exist.诊断
400
InvalidHostnameIp.Invalid
The hostname and/or IP is invalid: Hostname [%s], IP [%s].诊断
400
InvalidInstanceSpecification.Unsupported
The instance specification is not supported: CPU [%s], memory [%s].诊断
400
InvalidServerlessRegion.Unsupported
The current region is not supported: %s诊断
400
WarApplication.MissingJdkWebcontainer
A War application must contain JDK and Tomcat.诊断
400
InvalidNamespace.WithUppercase
This namespace does not support creating SAE apps because it contains uppercase letters.诊断
400
LogService.ConfigQuotaExceed
The maximum number of Log Service configs is exceeded.诊断
400
LogService.InternalError
An exception occurred while calling Log Service. Please submit a ticket to solve the problem.诊断
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.诊断
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.诊断
400
NoComputeResourceQuota.User.Exceed
Your account is limited to create %s instances. Please submit a ticket to raise the quota.诊断
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.诊断
400
NotFound.ConfigMap
The ConfigMap object (ID: %s) does not exist.诊断
400
NotFound.ConfigMapKey
The key %s of ConfigMap object (ID: %s) does not exist.诊断
400
Sls.Config.Mixed.Multi.Project
The specified Config contains multiple projects.诊断
400
Sls.Config.User.Defined.Missing.Logstore.Info
The specified Config is invalid. Both Project and Logstore must be specified.诊断
400
Sls.Config.User.Defined.Missing.Project.Info
The specified Config is invalid. Both Project and Logstore must be specified.诊断
400
Sls.Logstore.Name.Invalid
The specified name of Logstore is invalid. The Logstore name must not contain the prefix "sae-".诊断
400
Sls.Logstore.User.Defined.Not.Exist
The user defined Logstore does not exist.诊断
400
Sls.Project.Name.Invalid
The specified project name is invalid. The project name must not contain the prefix "sae-".诊断
400
Sls.Project.User.Defined.Not.Exist
The user defined project does not exist.诊断
400
InvalidImageUrl.AcrInstanceId.Domain.NotMatch
The specified domain of ImageUrl does not match AcrInstanceId domains.诊断
400
PhpApplication.MissingPhpRuntime
A PHP application must contain PHP Runtime.诊断
400
InvalidParameter.FileName
The application deployment package name is invalid. This name can contain only alphanumeric characters, hyphens (-), and underscores (_). For deploying java package, you can upload JAR files only if the selected deployment version supports JAR file. Otherwise, upload WAR files only. For deploying php package, you can upload ZIP files only if the selected deployment version supports ZIP file.诊断
400
Sls.Logtail.Name.Invalid
The specified name of Logtail is invalid. The Logtail name must not contain the prefix sae-.诊断
400
vswitch.not.exist
The specified vSwitch does not exist.诊断
400
InvalidImageUrl.MissingAcrInstanceId
The specified domain of ImageUrl is from ACREE, but you are not specified AcrInstanceId.诊断
400
EnvFromSecretIdConflict.AlreadyExist
The specified SecretId [%s] already exist in the specified Envs.诊断
400
MountConflict.Secret
Conflict detected for Secret path %s.诊断
404
Associate.Eip.Not.Enough
No sufficient EIPs are available.诊断
404
InvalidNamespaceId.NotFound
The specified NamespaceId does not exist.诊断
404
InvalidVpcId.NotFound
The specified VpcId does not exist.诊断
404
InvalidAcrInstanceId.NotFound
The specified AcrInstanceId does not exist.诊断

变更历史

变更时间变更内容概要操作
2025-03-13
新增请求参数NewSaeVersion
新增请求参数MicroserviceEngineConfig
2025-01-13
新增请求参数ResourceType
2024-12-26
新增请求参数CustomImageNetworkType
2024-12-17
新增请求参数SidecarContainersConfig
新增请求参数EnableSidecarResourceIsolated
2024-12-10
变更错误码400
新增请求参数SecretMountDesc
2024-11-08
新增请求参数OidcRoleName
2024-10-11
新增请求参数EnableCpuBurst
2024-09-12
新增请求参数Dotnet
2024-08-28
新增请求参数EnableNewArms

相关示例