调用DeployApplication接口部署应用。

调试

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

请求头

该接口使用公共请求头,无特殊请求头。更多信息,请参见公共请求和返回头

请求语法

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

请求参数

名称 类型 位置 是否必选 示例值 描述
AppId String Query 7171a6ca-d1cd-4928-8642-7d5cfe69****

需要部署的应用ID。

Jdk String Query Open JDK 8

部署包依赖的JDK版本。支持版本如下:

  • Open JDK 8
  • Open JDK 7
  • Dragonwell 11
  • Dragonwell 8
  • openjdk-8u191-jdk-alpine3.9
  • openjdk-7u201-jdk-alpine3.9

Package TypeImage时不支持。

WebContainer String Query apache-tomcat-7.0.91

部署包依赖的Tomcat版本。支持版本如下:

  • apache-tomcat-7.0.91
  • apache-tomcat-8.5.42

Package TypeImage时不支持。

PackageVersion String Query 1.0.1

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

PackageUrl String Query http://myoss.oss-cn-hangzhou.aliyuncs.com/my-buc/2019-06-30/****.jar

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

ImageUrl String Query registry.cn-hangzhou.aliyuncs.com/sae_test/ali_sae_test:0.0.1

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

Command String Query echo

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


command:
      - echo
      - abc
      - >
      - file0

根据上述示例,则Command="echo", CommandArgs=["abc", ">", "file0"]

CommandArgs String Query ["a","b"]

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

["a","b"]

在上述示例中,CommandArgs=["abc", ">", "file0"],其中["abc", ">", "file0"]需要转成String类型,里面的格式为JSON数组。如果无此参数,则无需填写。

Envs String Query [ { "name": "sae-sys-configmap-all-hello", "valueFrom": { "configMapRef": { "configMapId": 100, "key": "" } } }, { "name": "hello", "valueFrom": { "configMapRef": { "configMapId": 101, "key": "php-fpm" } } }, { "name": "envtmp", "value": "newenv" } ]

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

  • 自定义配置
    • name:环境变量名称。
    • value:环境变量值。优先级高于valueFrom。
  • 引用配置项(valueFrom)
    • name:环境变量名称。支持引用单个或全部键,如果引用全部键,需输入sae-sys-configmap-all-<配置项名称>,例如sae-sys-configmap-all-test1
    • valueFrom:环境变量引用。取值为configMapRef
    • configMapId:配置项ID。
    • key:键。如果引用全部健值,则不设置该字段。
CustomHostAlias String Query [{"hostName":"samplehost","ip":"127.0.0.1"}]

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

  • hostName:域名或主机名。
  • ip:IP地址。
JarStartOptions String Query custom-option

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

JarStartArgs String Query -Xms4G -Xmx4G

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

Liveness String Query {"exec":{"command":["sleep","5s"]},"initialDelaySeconds":10,"timeoutSeconds":11}

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

  • exec:例如 {"exec":{"command":["sh","-c","cat/home/admin/start.sh"]},"initialDelaySeconds":30,"periodSeconds":30,"timeoutSeconds":2}
  • httpGet:例如{"httpGet":{"path":"/","port":18091,"scheme":"HTTP","isContainKeyWord":true,"keyWord":"SAE"},"initialDelaySeconds":11,"periodSeconds":10,"timeoutSeconds":1}
  • tcpSocket:例如{"tcpSocket":{"port":18091},"initialDelaySeconds":11,"periodSeconds":10,"timeoutSeconds":1}
说明 只能选择一种方式进行健康检查。

参数说明如下:

  • exec.command:设置健康检查命令。
  • httpGet.path:访问路径。
  • httpGet.schemeHTTPHTTPS
  • httpGet.isContainKeyWordtrue表示包含关键字,false表示不包含关键字,缺失该字段表示不使用高级功能。
  • httpGet.keyWord:自定义的关键字,使用时不能缺失isContainKeyWord字段。
  • tcpSocket.port:tcp连接检测的端口 。
  • initialDelaySeconds:设置健康检查延迟检测时间,默认为10,单位为秒。
  • periodSeconds:设置健康检查周期,默认为30,单位为秒。
  • timeoutSeconds:设置健康检查超时等待时间,默认为1,单位为秒。如果设置为0或不设置,默认超时等待时间为1秒。
Readiness String Query {"exec":{"command":["sleep","6s"]},"initialDelaySeconds":15,"timeoutSeconds":12}

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

说明 只能选择一种方式进行健康检查。
MinReadyInstances Integer Query 1

最小存活实例数。取值说明如下:

  • 如果设置为0,应用在升级过程中将会中断业务。
  • 如果设置为-1,最小存活实例数将使用系统推荐值,即取现有实例数的25%。如果当前为5个实例,5×25%=1.25,向上取整后,最小存活实例数为2。
说明 每次滚动部署最小存活的实例数建议≥1,保证业务不中断。
MinReadyInstanceRatio Integer Query -1

最小存活实例数百分比。取值说明如下:

  • -1:初始化值,表示不采用百分比。
  • 0~100:单位为百分比,向上取整。例如设置为50%,如果当前为5个实例,则最小存活实例数为3。
说明MinReadyInstanceMinReadyInstanceRatio同时传递时,且MinReadyInstanceRatio的取值非-1时,以MinReadyInstanceRatio参数为准。假设MinReadyInstances取值为5MinReadyInstanceRatio取值为50,则会用50来计算最小存活实例数。
BatchWaitTime Integer Query 10

批次内部署间隔,单位为秒。

EdasContainerVersion String Query 3.5.3

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

UpdateStrategy String Query {"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":1},"grayUpdate":{"gray":1}}

部署策略。当最小存活实例数等于1时,UpdateStrategy字段的值为""。当最小存活实例数大于1时,示例如下:

  • 灰度1台+后续分2批+自动分批+分批间隔1分钟:{"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":1},"grayUpdate":{"gray":1}}
    • 灰度1台+后续分2批+手动分批:{"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"manual"},"grayUpdate":{"gray":1}}
    • 分2批+自动分批+分批间隔0分钟:{"type":"BatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":0}}

参数说明如下:

  • type:发布策略类型,可选灰度发布GrayBatchUpdate或分批发布BatchUpdate
  • batchUpdate:分批发布策略。
    • batch:发布批次。
    • releaseType:分批间处理方式,可选自动auto或手动manual
    • batchWaitTime:分批间隔时间,单位为分钟。
  • grayUpdate:灰度后剩余批次,当typeGrayBatchUpdate时必填。
SlsConfigs String Query [{"logDir":"","logType":"stdout"},{"logDir":"/tmp/a.log"}]

日志采集到SLS的配置。

  • 使用SAE自动创建的SLS资源:[{"logDir":"","logType":"stdout"},{"logDir":"/tmp/a.log"}]
  • 使用自定义的SLS资源:[{"projectName":"test-sls","logType":"stdout","logDir":"","logstoreName":"sae","logtailName":""},{"projectName":"test","logDir":"/tmp/a.log","logstoreName":"sae","logtailName":""}]

参数说明如下:

  • projectName:配置SLS上的Project名称。
  • logDir:日志路径。
  • logType:日志类型。stdout表示容器标准输出日志,仅可设置1条;如果不设置,则表示收集文件日志。
  • logstoreName:配置SLS上的Logstore名称。
  • logtailName:配置SLS上的Logtail名称,如果不指定,则表示新建Logtail。

多次部署时如果SLS采集配置没有变更,则不需要设置该参数(即请求中无需包含SlsConfigs字段);如果不再需要使用SLS采集功能,您需要在请求中将该字段的值设置为空字符串(即请求中SlsConfigs字段的值为"")。

说明 随应用自动创建的Project会随着应用删除而删除,因此在选择已有Project时,不能选择SAE自动创建的Project。
Timezone String Query Asia/Shanghai

时区,默认为Asia/Shanghai

NasId String Query 10d3b4****

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

MountHost String Query 10d3b4bc9****.com

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

MountDesc String Query [{mountPath: "/tmp", nasPath: "/"}]

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

PostStart String Query {"exec":{"command":["sh","-c","echo hello"]}}

容器启动后执行脚本。在容器被创建后立刻触发执行一段脚本,格式如:{"exec":{"command":["sh","-c","echo hello"]}}

PreStop String Query {"exec":{"command":["sh","-c","echo hello"]}}

容器停止前执行脚本。在容器被删除前触发执行一段脚本,格式如:{"exec":{"command":["sh","-c","echo hello"]}}

ChangeOrderDesc String Query 启动应用

发布单描述信息。

WarStartOptions String Query CATALINA_OPTS=\"$CATALINA_OPTS $Options\" catalina.sh run

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

AutoEnableApplicationScalingRule Boolean Query true

是否自动启用应用弹性伸缩策略。取值说明如下:

  • true:开启。
  • false:关闭。
ConfigMapMountDesc String FormData [{"configMapId":16,"key":"test","mountPath":"/tmp"}]

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

说明 可通过传递sae-sys-configmap-all参数挂载所有键。
  • mountPath:挂载路径。
TerminationGracePeriodSeconds Integer Query 10

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

EnableAhas String Query false

是否接入AHAS。取值说明如下:

  • true:接入AHAS。
  • false:不接入AHAS。
PhpArmsConfigLocation String Query /usr/local/etc/php/conf.d/arms.ini

PHP应用监控挂载路径,需要您保证PHP服务器一定会加载这个路径的配置文件。您无需关注配置内容,SAE会自动渲染正确的配置文件。

PhpConfigLocation String Query /usr/local/etc/php/php.ini

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

PhpConfig String FormData k1=v1

PHP配置文件内容。

TomcatConfig String Query {"port":8080,"contextPath":"/","maxThreads":400,"uriEncoding":"ISO-8859-1","useBodyEncodingForUri":true}

Tomcat文件配置,设置为""或"{}"表示删除配置。取值说明如下:

  • port:端口范围为1024~65535,小于1024的端口需要Root权限才能操作。因为容器配置的是Admin权限,所以请填写大于1024的端口。如果不配置,则默认为8080。
  • contextPath:访问路径,默认为根目录"/"。
  • maxThreads:配置连接池的连接数大小,默认大小为400。
  • uriEncoding:Tomcat的编码格式,包括UTF-8ISO-8859-1GBK和GB2312。如果不设置,则默认为ISO-8859-1
  • useBodyEncodingForUri:是否使用BodyEncoding for URL,默认为true
OssMountDescs String FormData [{"bucketName": "oss-bucket", "bucketPath": "data/user.data", "mountPath": "/usr/data/user.data", "readOnly": true}]

OSS挂载描述信息。参数说明如下:

  • bucketName:Bucket名称。
  • bucketPath:您在OSS创建的目录或OSS对象,如果OSS挂载目录不存在,会触发异常。
  • mountPath:您在SAE的容器路径。如果路径已存在,为覆盖关系;如果路径不存在,会新建。
  • readOnly:容器路径是否对挂载目录资源有可读权限,取值说明如下:
    • true:只读权限。
    • false:读写权限。
OssAkId String FormData xxxxxx

OSS读写的AccessKey ID。

OssAkSecret String FormData xxxxxx

OSS读写的AccessKey Secret。

EnableGreyTagRoute Boolean Query false

是否启用流量灰度规则。该规则仅适用于Spring Cloud和Dubbo框架的应用。取值说明如下:

  • true:启用灰度规则。
  • false:禁用灰度规则。
Php String FormData PHP-FPM 7.0

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

AcrInstanceId String FormData cri-xxxxxx

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

AcrAssumeRoleArn String Query acs:ram::123456789012****:role/adminrole

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

ImagePullSecrets String Query 10

对应保密字典ID。

AssociateEip Boolean FormData true

是否绑定EIP。取值说明如下:

  • true:绑定。
  • false:不绑定。
KafkaConfigs String Query {"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"}]}

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

  • kafkaEndpoint:Kafka API的服务接入地址。
  • kafkaInstanceId:Kafka实例ID。
  • kafkaConfigs:单条或多条日志的配置汇总信息。示例值与参数说明,请参见本文的请求参数 kafkaConfigs
PvtzDiscoverySvc String Query {"portProtocols":[{"port":18012,"protocol":"TCP"}],"portAndProtocol":{"18012":"TCP"},"enable":true}

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

  • portProtocols:端口与协议。端口取值范围为[1,65535],协议支持TCPUDP
  • portAndProtocol:端口与协议。端口取值范围为[1,65535],协议支持TCPUDP优先推荐portProtocols,如果设置了portProtocols,仅portProtocols生效
  • enable:开启K8s Service服务注册发现。
MicroRegistration String Query "0"

选择Nacos注册中心,取值说明如下:

  • 0:SAE内置Nacos。
  • 1:用户自建Nacos。
  • 2:MSE商业版Nacos。
NasConfigs String Query [{"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"}]

挂载NAS的配置。取值说明如下:

  • mountPath:容器挂载路径。
  • readOnly:取值为false时,表示拥有读写权限。
  • nasId:NAS ID。
  • mountDomain:容器挂载点地址。更多信息,请参见DescribeMountTargets
  • nasPath:NAS相对文件目录。
Python String Query PYTHON 3.9.15

Python环境。支持PYTHON 3.9.15

PythonModules String Query Flask==2.0

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

Deploy String Query true

该参数仅对停止状态的应用生效。如果运行中的应用调用DeployApplication接口,会立即重新部署。

  • true:默认值。表示立即部署,生效新的部署配置,并立即拉起实例。
  • false:表示仅生效新的部署配置,不会拉起应用实例。
PackageType String Query FatJar

应用包类型。取值说明如下:

  • 当您选择用Java部署时,支持FatJarWarImage
  • 当您选择用PHP部署时,支持类型如下:
    • PhpZip
    • IMAGE_PHP_5_4
    • IMAGE_PHP_5_4_ALPINE
    • IMAGE_PHP_5_5
    • IMAGE_PHP_5_5_ALPINE
    • IMAGE_PHP_5_6
    • IMAGE_PHP_5_6_ALPINE
    • IMAGE_PHP_7_0
    • IMAGE_PHP_7_0_ALPINE
    • IMAGE_PHP_7_1
    • IMAGE_PHP_7_1_ALPINE
    • IMAGE_PHP_7_2
    • IMAGE_PHP_7_2_ALPINE
    • IMAGE_PHP_7_3
    • IMAGE_PHP_7_3_ALPINE
  • 当您选择用Python部署时,支持PythonZipImage
Cpu Integer Query 1000

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

  • 500
  • 1000
  • 2000
  • 4000
  • 8000
  • 12000
  • 16000
  • 32000
Memory Integer Query 1024

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

  • 1024:对应CPU为500毫核和1000毫核。
  • 2048:对应CPU为500、1000毫核和2000毫核。
  • 4096:对应CPU为1000、2000毫核和4000毫核。
  • 8192:对应CPU为2000、4000毫核和8000毫核。
  • 12288:对应CPU为12000毫核。
  • 16384:对应CPU为4000、8000毫核和16000毫核。
  • 24576:对应CPU为12000毫核。
  • 32768:对应CPU为16000毫核。
  • 65536:对应CPU为8000、16000和32000毫核。
  • 131072:对应CPU为32000毫核。
Replicas Integer Query 1

实例数。

SecurityGroupId String Query sg-wz969ngg2e49q5i4****

安全组ID。

VSwitchId String Query vsw-bp12mw1f8k3jgygk9****

应用实例弹性网卡所在的虚拟交换机。该交换机必须位于上述VPC内。

返回数据

名称 类型 示例值 描述
RequestId String 01CF26C7-00A3-4AA6-BA76-7E95F2A3***

请求ID。

Message String success

附加信息。取值说明如下:

  • 请求正常,返回success
  • 请求异常,返回具体异常错误码。
TraceId String ac1a0b2215622246421415014e****

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

Data Object

返回结果。

ChangeOrderId String 01db03d3-3ee9-48b3-b3d0-dfce2d88****

返回的发布单ID,用于查询任务执行状态。

AppId String 7171a6ca-d1cd-4928-8642-7d5cfe69****

应用ID。

IsNeedApproval Boolean true

RAM用户发布变更是否需要审批。取值说明如下:

  • true:需审批。
  • false:无需审批。
ErrorCode String

错误码。取值说明如下:

  • 请求成功:不返回ErrorCode字段。
  • 请求失败:返回ErrorCode字段。具体信息,请参见本文的错误码列表。
Code String 200

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

  • 2xx:成功。
  • 3xx:重定向。
  • 4xx:请求错误。
  • 5xx:服务器错误。
Success Boolean true

部署应用是否成功。取值说明如下:

  • true:部署成功。
  • false:部署失败。

示例

请求示例

POST /pop/v1/sam/app/deployApplication?AppId=7171a6ca-d1cd-4928-8642-7d5cfe69****&Jdk=Open JDK 8&WebContainer=apache-tomcat-7.0.91&PackageVersion=1.0.1&PackageUrl=http://myoss.oss-cn-hangzhou.aliyuncs.com/my-buc/2019-06-30/****.jar&ImageUrl=registry.cn-hangzhou.aliyuncs.com/sae_test/ali_sae_test:0.0.1&Command=echo&CommandArgs=["a","b"]&Envs=[     {         "name": "sae-sys-configmap-all-hello",         "valueFrom": {             "configMapRef": {                 "configMapId": 100,                 "key": ""             }         }     },     {         "name": "hello",         "valueFrom": {             "configMapRef": {                 "configMapId": 101,                 "key": "php-fpm"             }         }     },     {         "name": "envtmp",         "value": "newenv"     } ]&CustomHostAlias=[{"hostName":"samplehost","ip":"127.0.0.1"}]&JarStartOptions=custom-option&JarStartArgs=-Xms4G -Xmx4G&Liveness={"exec":{"command":["sleep","5s"]},"initialDelaySeconds":10,"timeoutSeconds":11}&Readiness={"exec":{"command":["sleep","6s"]},"initialDelaySeconds":15,"timeoutSeconds":12}&MinReadyInstances=1&MinReadyInstanceRatio=-1&BatchWaitTime=10&EdasContainerVersion=3.5.3&UpdateStrategy={"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":1},"grayUpdate":{"gray":1}}&SlsConfigs=[{"logDir":"","logType":"stdout"},{"logDir":"/tmp/a.log"}]&Timezone=Asia/Shanghai&NasId=10d3b4****&MountHost=10d3b4bc9****.com&MountDesc=[{mountPath: "/tmp", nasPath: "/"}]&PostStart={"exec":{"command":["sh","-c","echo hello"]}}&PreStop={"exec":{"command":["sh","-c","echo hello"]}}&ChangeOrderDesc=启动应用&WarStartOptions=CATALINA_OPTS=\"$CATALINA_OPTS $Options\" catalina.sh run&AutoEnableApplicationScalingRule=true&TerminationGracePeriodSeconds=10&EnableAhas=false&PhpArmsConfigLocation=/usr/local/etc/php/conf.d/arms.ini&PhpConfigLocation=/usr/local/etc/php/php.ini&TomcatConfig={"port":8080,"contextPath":"/","maxThreads":400,"uriEncoding":"ISO-8859-1","useBodyEncodingForUri":true}&EnableGreyTagRoute=false&AcrAssumeRoleArn=acs:ram::123456789012****:role/adminrole&ImagePullSecrets=10&KafkaConfigs={"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"}]}&PvtzDiscoverySvc={"portProtocols":[{"port":18012,"protocol":"TCP"}],"portAndProtocol":{"18012":"TCP"},"enable":true}&MicroRegistration="0"&NasConfigs=[{"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"}]&Python=PYTHON 3.9.15&PythonModules=Flask==2.0&Deploy=true&PackageType=FatJar&Cpu=1000&Memory=1024&Replicas=1&SecurityGroupId=sg-wz969ngg2e49q5i4****&VSwitchId=vsw-bp12mw1f8k3jgygk9**** HTTP/1.1
Host:sae.aliyuncs.com
Content-Type:application/json

ConfigMapMountDesc=[{"configMapId":16,"key":"test","mountPath":"/tmp"}]&PhpConfig=k1=v1&OssMountDescs=[{"bucketName": "oss-bucket", "bucketPath": "data/user.data", "mountPath": "/usr/data/user.data", "readOnly": true}]&OssAkId=xxxxxx&OssAkSecret=xxxxxx&Php=PHP-FPM 7.0&AcrInstanceId=cri-xxxxxx&AssociateEip=true

正常返回示例

XML格式

HTTP/1.1 200 OK
Content-Type:application/xml

<DeployApplicationResponse>
    <RequestId>01CF26C7-00A3-4AA6-BA76-7E95F2A3***</RequestId>
    <Message>success</Message>
    <TraceId>ac1a0b2215622246421415014e****</TraceId>
    <Data>
        <ChangeOrderId>01db03d3-3ee9-48b3-b3d0-dfce2d88****</ChangeOrderId>
        <AppId>7171a6ca-d1cd-4928-8642-7d5cfe69****</AppId>
        <IsNeedApproval>true</IsNeedApproval>
    </Data>
    <Code>200</Code>
    <Success>true</Success>
</DeployApplicationResponse>

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

{
  "RequestId" : "01CF26C7-00A3-4AA6-BA76-7E95F2A3***",
  "Message" : "success",
  "TraceId" : "ac1a0b2215622246421415014e****",
  "Data" : {
    "ChangeOrderId" : "01db03d3-3ee9-48b3-b3d0-dfce2d88****",
    "AppId" : "7171a6ca-d1cd-4928-8642-7d5cfe69****",
    "IsNeedApproval" : true
  },
  "Code" : "200",
  "Success" : true
}

错误码

HttpCode 错误码 错误信息 描述
400 Application.MissingJdk Your application must at least contain a JDK component. 应用必须至少包含JDK组件。
400 InvalidApplication.NotFound The current application does not exist. 找不到当前应用。
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 InvalidPackageType.NotFound The package type must be War, FatJar, or Image. 包类型必须为WAR、FatJAR或Image。
400 InvalidParameter.NotEmpty You must specify the parameter %s. 不合法的参数:%s不能为空。
400 InvalidParameter.Obviously The specified parameter is invalid {%s}. 不合法的参数{%s}。
400 InvalidParameter.WithMessage The parameter is invalid {%s}: %s 不合法的参数{%s}:%s。
400 JarApplication.MissingJdk A FatJar application must contain JDK. FatJar类型应用必须包含JDK。
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 WarApplication.MissingJdkWebcontainer A War application must contain JDK and Tomcat. WAR类型应用必须包含JDK和Tomcat。
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 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 Application.ChangerOrderRunning An application change process is in progress. Please try again later. 应用有变更流程正在执行,请稍后重试。
400 Application.InvalidStatus The application status is abnormal. Please try again later. 应用状态异常,请稍后重试。
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 Package.Version.Too.Long The maximum length of package version is exceeded. 应用部署包版本号长度超过限制。
400 App.Package.Version.Exists The package version of application already exists. 应用部署包版本号已经存在。
400 Slb.Occupied The SLB instance is occupied. SLB实例被占用。
400 Slb.Tag.Not.Qualified The current SLB instance cannot be reused because it may have been occupied by %s. SLB实例正在被%s使用,不建议复用。
400 MinReadyInstances.Not.Smaller.Replicas The minimum number of available instances must be less than the number of application instances. 最小可用实例数必须小于应用实例数。
400 MinReadyInstanceRatio.Invalid The ratio of minimum available instances must be between 0 and 100. 最小存活实例数比例值必须在0~100之间。
400 BatchWaitTime.Not.Smaller.Zero BatchWaitTime must not be smaller than zero. 分批间隔时间必须大于零。
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 Sae.Errorcode.Ahas.Create.Error.Message Failed to create AHAS. 创建AHAS失败。
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运行时。
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. 应用部署程序包名称无效。名称只能包含字母、数字和特殊字符“-”“_”。Java 软件包部署,仅当选择的部署版本支持JAR部署时方可上传JAR包,否则只能上传WAR包;PHP 软件包部署,仅当选择的部署版本支持ZIP部署时方可上传ZIP包
400 Sls.Logtail.Name.Invalid The specified name of Logtail is invalid. The Logtail name must not contain the prefix sae-. 您输入的SLS Logtail名称不合法,前缀包含了"sae-",会与SAE自动创建的Logtail混淆。
400 InvalidImageUrl.MissingAcrInstanceId The specified domain of ImageUrl is from ACREE, but you are not specified AcrInstanceId. 指定的镜像地址 ImageUrl 域名为容器镜像服务企业版 ACREE,但未指定实例 AcrInstanceId。
404 InvalidNamespaceId.NotFound The specified NamespaceId does not exist. 指定的NamespaceId不存在。
404 InvalidAcrInstanceId.NotFound The specified AcrInstanceId does not exist. 指定的 AcrInstanceId 不存在。
404 Associate.Eip.Not.Enough No sufficient EIPs are available. 绑定EIP时,EIP不足,需要您购买。

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