调用DescribeApplicationConfig接口获取应用配置信息。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求头
该接口使用公共请求头,无特殊请求头。更多信息,请参见公共请求和返回头。
请求语法
GET /pop/v1/sam/app/describeApplicationConfig HTTP/1.1
请求参数
名称 | 类型 | 位置 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|---|
AppId | String | Query | 是 | 7171a6ca-d1cd-4928-8642-7d5cfe69**** |
应用ID。 |
VersionId | String | Query | 否 | 0026ff7f-2b57-4127-bdd0-9bf202bb**** |
版本ID。 |
返回数据
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
RequestId | String | 01CF26C7-00A3-4AA6-BA76-7E95F2A3**** |
请求ID。 |
Message | String | success |
调用结果的附加信息。 |
TraceId | String | ac1a0b2215622246421415014e**** |
调用链ID,用于精确查询调用信息。 |
Data | Object |
应用信息。 |
|
VpcId | String | vpc-2ze0i263cnn311nvj**** |
VPC ID。 |
Readiness | String | {"exec":{"command":["curl http://localhost:8080"]},"initialDelaySeconds":20,"timeoutSeconds":5} |
应用启动状态检查,多次健康检查失败的容器将被关闭并重启。不通过健康检查的容器将不会有SLB流量进入。支持exec、httpGet和tcpSocket方式。具体示例,请参见Liveness参数。 说明 只能选择一种方式进行健康检查。
|
ConfigMapMountDesc | Array of ConfigMapMountDesc |
ConfigMap信息。 |
|
Key | String | k1 |
ConfigMap键值对。 |
ConfigMapName | String | test |
ConfigMap名称。 |
MountPath | String | /tmp |
容器挂载路径。 |
ConfigMapId | Long | 1 |
ConfigMap ID。 |
SecurityGroupId | String | sg-wz969ngg2e49q5i4**** |
安全组ID。 |
BatchWaitTime | Integer | 10 |
分批发布时批次间的等待时间,单位为秒。 |
Jdk | String | Open JDK 8 |
部署包依赖的JDK版本。支持版本如下:
当Package Type为Image时不支持。 |
ImageUrl | String | docker.io/library/nginx:1.14.2 |
镜像地址。当Package Type为Image时必填。 |
SlsConfigs | String | [{"logDir":"","logType":"stdout"},{"logDir":"/tmp/a.log"}] |
日志采集到SLS的配置。
参数说明如下:
多次部署时如果SLS采集配置没有变更,则不需要设置该参数(即请求中无需包含SlsConfigs字段);如果不再需要使用SLS采集功能,您需要在请求中将该字段的值设置为空字符串(即请求中SlsConfigs字段的值为"")。 |
Liveness | String | {"exec":{"command":["curl http://localhost:8080"]},"initialDelaySeconds":20,"timeoutSeconds":3} |
容器健康检查,健康检查失败的容器将被关闭并恢复。支持方式如下:
说明 只能选择一种方式进行健康检查。
参数说明如下:
|
Tags | Array of Tag |
标签信息。 |
|
Key | String | k1 |
标签键。 |
Value | String | v1 |
标签值。 |
PackageUrl | String | https://edas-bj.oss-cn-beijing.aliyuncs.com/apps/K8s_APP_ID/d4c97c37-aba3-403e-ae1e-6f7d8742****/hello-sae.war |
部署包地址。当Package Type为FatJar或War时必填。 |
PackageType | String | War |
应用包类型。取值说明如下:
|
PreStop | String | {"exec":{"command":["cat","/etc/group"]}} |
容器停止前执行脚本。在容器被删除前触发执行一段脚本,格式如: |
PackageVersion | String | 1.0 |
部署包的版本号。当Package Type为FatJar或War时必填。 |
JarStartArgs | String | start |
JAR包启动应用参数。应用默认启动命令: |
AppName | String | demo-app |
应用名称。 |
AppId | String | 7171a6ca-d1cd-4928-8642-7d5cfe69**** |
应用ID。 |
JarStartOptions | String | -Dtest=true |
JAR包启动应用选项。应用默认启动命令: |
Replicas | Integer | 2 |
应用实例个数。 |
UpdateStrategy | String | {"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":1},"grayUpdate":{"gray":1}} |
部署策略。当最小存活实例数等于1时,UpdateStrategy字段的值为""。当最小存活实例数大于1时,示例如下:
参数说明如下:
|
MinReadyInstances | Integer | 1 |
最小存活实例数。取值说明如下:
说明 每次滚动部署最小存活的实例数建议≥1,保证业务不中断。
|
MinReadyInstanceRatio | Integer | -1 |
最小存活实例数百分比。取值说明如下:
说明 当MinReadyInstance和MinReadyInstanceRatio同时传递,且MinReadyInstanceRatio的取值非-1时,以MinReadyInstanceRatio参数为准。假设MinReadyInstances取值为5,MinReadyInstanceRatio取值为50,则会用MinReadyInstanceRatio来计算最小存活实例数。
|
Memory | Integer | 2048 |
每个实例所需的内存,单位为MB,不能为0。与CPU为一一对应关系,目前仅支持以下固定规格:
|
PhpConfig | String | k1=v1 |
PHP配置文件内容。 |
PhpConfigLocation | String | /usr/local/etc/php/php.ini |
PHP应用启动配置挂载路径,需要您保证PHP服务器会使用这个配置文件启动。 |
PostStart | String | {"exec":{"command":["cat","/etc/group"]}} |
容器启动后执行脚本。在容器被创建后立刻触发执行一段脚本,格式如: |
TerminationGracePeriodSeconds | Integer | 10 |
优雅下线超时时间,默认为30,单位为秒。取值范围为1~300。 |
CommandArgs | String | ["a","b"] |
镜像启动命令参数。启动命令Command所需参数。格式如下: ["a","b"]
在Command参数的示例中, |
NamespaceId | String | cn-beijing:test |
命名空间ID。 |
MountHost | String | example.com |
NAS在应用VPC内的挂载点。部署时如果配置没有变更,则不需要设置该参数(即请求中无需包含MountHost字段);如果需要清除NAS配置,您需要在请求中将该字段的值设置为空字符串(即请求中MountHost字段的值为"")。 |
TomcatConfig | String | {"port":8080,"contextPath":"/","maxThreads":400,"uriEncoding":"ISO-8859-1","useBodyEncodingForUri":true} |
Tomcat文件配置,设置为""或"{}"表示删除配置:
|
RegionId | String | cn-beijing |
地域ID。 |
VSwitchId | String | vsw-2ze559r1z1bpwqxwp**** |
vSwitch ID。 |
Cpu | Integer | 1000 |
每个实例所需的CPU,单位为毫核,不能为0。目前仅支持以下固定规格:
|
Envs | String | [{"name":"TEST_ENV_KEY","value":"TEST_ENV_VAR"}] |
容器环境变量参数。取值说明如下:
|
MountDesc | Array of MountDesc |
挂载描述信息。 |
|
MountPath | String | /tmp |
容器挂载路径。 |
NasPath | String | / |
NAS相对文件目录。 |
EnableAhas | String | true |
是否接入AHAS。取值说明如下:
|
CustomHostAlias | String | [{"hostName":"test.host.name","ip":"0.0.0.0"}] |
容器内自定义Host映射。取值说明如下:
|
WebContainer | String | apache-tomcat-7.0.91 |
部署包依赖的Tomcat版本。支持版本如下:
当Package Type为Image时不支持。 |
Command | String | echo |
镜像启动命令。该命令必须为容器内存在的可执行的对象。示例如下:
根据上述示例,则 |
WarStartOptions | String | custom-option |
WAR包启动应用选项。应用默认启动命令: |
PhpArmsConfigLocation | String | /usr/local/etc/php/conf.d/arms.ini |
PHP应用监控挂载路径,需要您保证PHP服务器一定会加载这个路径的配置文件。 您无需关注配置内容,SAE会自动渲染正确的配置文件。 |
NasId | String | AKSN89** |
NAS ID。 |
OssAkId | String | xxxxxx |
OSS读写的AccessKey ID。 |
OssAkSecret | String | xxxxxx |
OSS读写的AccessKey Secret。 |
OssMountDescs | Array of ossMountDesc |
OSS挂载描述信息。 |
|
bucketName | String | oss-bucket |
Bucket名称。 |
bucketPath | String | data/user.data |
您在OSS创建的目录或OSS对象,如果OSS挂载目录不存在,会触发异常。 |
mountPath | String | /usr/data/user.data |
您在SAE的容器路径。如果路径已存在,为覆盖关系;如果路径不存在,会新建。 |
readOnly | Boolean | true |
容器路径是否对挂载目录资源有可读权限,取值说明如下:
|
EdasContainerVersion | String | 3.5.3 |
HSF框架中应用运行环境版本,例如Ali-Tomcat容器。 |
Timezone | String | Asia/Shanghai |
时区,默认为Asia/Shanghai。 |
AppDescription | String | 示例应用 |
应用描述信息。 |
EnableGreyTagRoute | Boolean | false |
是否启用流量灰度规则。该规则仅适用于Spring Cloud和Dubbo框架的应用。取值说明如下:
|
MseApplicationId | String | xxxxxxx@xxxxx |
对应MSE产品侧应用ID。 |
AcrInstanceId | String | cri-xxxxxx |
ACR 企业版实例 ID |
AcrAssumeRoleArn | String | acs:ram::123456789012****:role/adminrole |
跨账号拉取镜像时所需的RAM角色的ARN。更多信息,请参见跨账号拉取阿里云镜像和通过RAM角色实现跨云账号授权。 |
AssociateEip | Boolean | true |
是否绑定EIP。取值说明如下:
|
KafkaConfigs | String | [{"createTime":1646304855512,"kafkaTopic":"test","logDir":"/tmp/a.log","logType":"file_log"},{"createTime":1646304855512,"kafkaTopic":"test2","logDir":"/sae-stdlog/kafka-jar*/*","logType":"stdout"}],"kafkaEndpoint":"10.0.X.XXX:XXXX,10.0.X.XXX:XXXX,10.0.X.XXX:XXXX","kafkaInstanceId":"alikafka_pre-cn-7pp2l8kr****","region":"cn-beijing"}] |
日志采集到Kafka的配置。参数说明如下:
|
ProgrammingLanguage | String | java |
创建应用的技术栈语言。取值说明如下:
|
ErrorCode | String | 空 |
错误码。取值说明如下:
|
Code | String | 200 |
接口状态或POP错误码。取值说明如下:
|
Success | Boolean | true |
获取应用配置信息是否成功。取值说明如下:
|
示例
请求示例
GET /pop/v1/sam/app/describeApplicationConfig?AppId=7171a6ca-d1cd-4928-8642-7d5cfe69****&VersionId=0026ff7f-2b57-4127-bdd0-9bf202bb**** HTTP/1.1
Host:sae.aliyuncs.com
Content-Type:application/json
正常返回示例
XML
格式
HTTP/1.1 200 OK
Content-Type:application/xml
<DescribeApplicationConfigResponse>
<RequestId>01CF26C7-00A3-4AA6-BA76-7E95F2A3****</RequestId>
<Message>success</Message>
<TraceId>ac1a0b2215622246421415014e****</TraceId>
<Data>
<VpcId>vpc-2ze0i263cnn311nvj****</VpcId>
<Readiness>{"exec":{"command":["curl http://localhost:8080"]},"initialDelaySeconds":20,"timeoutSeconds":5}</Readiness>
<ConfigMapMountDesc>
<Key>k1</Key>
<ConfigMapName>test</ConfigMapName>
<MountPath>/tmp</MountPath>
<ConfigMapId>1</ConfigMapId>
</ConfigMapMountDesc>
<SecurityGroupId>sg-wz969ngg2e49q5i4****</SecurityGroupId>
<BatchWaitTime>10</BatchWaitTime>
<Jdk>Open JDK 8</Jdk>
<ImageUrl>docker.io/library/nginx:1.14.2</ImageUrl>
<SlsConfigs>[{"logDir":"","logType":"stdout"},{"logDir":"/tmp/a.log"}]</SlsConfigs>
<Liveness>{"exec":{"command":["curl http://localhost:8080"]},"initialDelaySeconds":20,"timeoutSeconds":3}</Liveness>
<Tags>
<Key>k1</Key>
<Value>v1</Value>
</Tags>
<PackageUrl>https://edas-bj.oss-cn-beijing.aliyuncs.com/apps/K8s_APP_ID/d4c97c37-aba3-403e-ae1e-6f7d8742****/hello-sae.war</PackageUrl>
<PackageType>War</PackageType>
<PreStop>{"exec":{"command":["cat","/etc/group"]}}</PreStop>
<PackageVersion>1.0</PackageVersion>
<JarStartArgs>start</JarStartArgs>
<AppName>demo-app</AppName>
<AppId>7171a6ca-d1cd-4928-8642-7d5cfe69****</AppId>
<JarStartOptions>-Dtest=true</JarStartOptions>
<Replicas>2</Replicas>
<UpdateStrategy>{"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":1},"grayUpdate":{"gray":1}}</UpdateStrategy>
<MinReadyInstances>1</MinReadyInstances>
<MinReadyInstanceRatio>-1</MinReadyInstanceRatio>
<Memory>2048</Memory>
<PhpConfig>k1=v1</PhpConfig>
<PhpConfigLocation>/usr/local/etc/php/php.ini</PhpConfigLocation>
<PostStart>{"exec":{"command":["cat","/etc/group"]}}</PostStart>
<TerminationGracePeriodSeconds>10</TerminationGracePeriodSeconds>
<CommandArgs>["a","b"]</CommandArgs>
<NamespaceId>cn-beijing:test</NamespaceId>
<MountHost>example.com</MountHost>
<TomcatConfig>{"port":8080,"contextPath":"/","maxThreads":400,"uriEncoding":"ISO-8859-1","useBodyEncodingForUri":true}</TomcatConfig>
<RegionId>cn-beijing</RegionId>
<VSwitchId>vsw-2ze559r1z1bpwqxwp****</VSwitchId>
<Cpu>1000</Cpu>
<Envs>[{"name":"TEST_ENV_KEY","value":"TEST_ENV_VAR"}]</Envs>
<MountDesc>
<MountPath>/tmp</MountPath>
<NasPath>/</NasPath>
</MountDesc>
<EnableAhas>true</EnableAhas>
<CustomHostAlias>[{"hostName":"test.host.name","ip":"0.0.0.0"}]</CustomHostAlias>
<WebContainer>apache-tomcat-7.0.91</WebContainer>
<Command>echo</Command>
<WarStartOptions>custom-option</WarStartOptions>
<PhpArmsConfigLocation>/usr/local/etc/php/conf.d/arms.ini</PhpArmsConfigLocation>
<NasId>AKSN89**</NasId>
<OssAkId>xxxxxx</OssAkId>
<OssAkSecret>xxxxxx</OssAkSecret>
<OssMountDescs>
<bucketName>oss-bucket</bucketName>
<bucketPath>data/user.data</bucketPath>
<mountPath>/usr/data/user.data</mountPath>
<readOnly>true</readOnly>
</OssMountDescs>
<EdasContainerVersion>3.5.3</EdasContainerVersion>
<Timezone>Asia/Shanghai</Timezone>
<AppDescription>示例应用</AppDescription>
<EnableGreyTagRoute>false</EnableGreyTagRoute>
<MseApplicationId>xxxxxxx@xxxxx</MseApplicationId>
<AcrInstanceId>cri-xxxxxx</AcrInstanceId>
<AcrAssumeRoleArn>acs:ram::123456789012****:role/adminrole</AcrAssumeRoleArn>
<AssociateEip>true</AssociateEip>
<KafkaConfigs>[{"createTime":1646304855512,"kafkaTopic":"test","logDir":"/tmp/a.log","logType":"file_log"},{"createTime":1646304855512,"kafkaTopic":"test2","logDir":"/sae-stdlog/kafka-jar*/*","logType":"stdout"}],"kafkaEndpoint":"10.0.X.XXX:XXXX,10.0.X.XXX:XXXX,10.0.X.XXX:XXXX","kafkaInstanceId":"alikafka_pre-cn-7pp2l8kr****","region":"cn-beijing"}]</KafkaConfigs>
<ProgrammingLanguage>java</ProgrammingLanguage>
</Data>
<Code>200</Code>
<Success>true</Success>
</DescribeApplicationConfigResponse>
JSON
格式
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "01CF26C7-00A3-4AA6-BA76-7E95F2A3****",
"Message" : "success",
"TraceId" : "ac1a0b2215622246421415014e****",
"Data" : {
"VpcId" : "vpc-2ze0i263cnn311nvj****",
"Readiness" : "{\"exec\":{\"command\":[\"curl http://localhost:8080\"]},\"initialDelaySeconds\":20,\"timeoutSeconds\":5}",
"ConfigMapMountDesc" : [ {
"Key" : "k1",
"ConfigMapName" : "test",
"MountPath" : "/tmp",
"ConfigMapId" : 1
} ],
"SecurityGroupId" : "sg-wz969ngg2e49q5i4****",
"BatchWaitTime" : 10,
"Jdk" : "Open JDK 8",
"ImageUrl" : "docker.io/library/nginx:1.14.2",
"SlsConfigs" : "[{\"logDir\":\"\",\"logType\":\"stdout\"},{\"logDir\":\"/tmp/a.log\"}]",
"Liveness" : "{\"exec\":{\"command\":[\"curl http://localhost:8080\"]},\"initialDelaySeconds\":20,\"timeoutSeconds\":3}",
"Tags" : [ {
"Key" : "k1",
"Value" : "v1"
} ],
"PackageUrl" : "https://edas-bj.oss-cn-beijing.aliyuncs.com/apps/K8s_APP_ID/d4c97c37-aba3-403e-ae1e-6f7d8742****/hello-sae.war",
"PackageType" : "War",
"PreStop" : "{\"exec\":{\"command\":[\"cat\",\"/etc/group\"]}}",
"PackageVersion" : "1.0",
"JarStartArgs" : "start",
"AppName" : "demo-app",
"AppId" : "7171a6ca-d1cd-4928-8642-7d5cfe69****",
"JarStartOptions" : "-Dtest=true",
"Replicas" : 2,
"UpdateStrategy" : "{\"type\":\"GrayBatchUpdate\",\"batchUpdate\":{\"batch\":2,\"releaseType\":\"auto\",\"batchWaitTime\":1},\"grayUpdate\":{\"gray\":1}}",
"MinReadyInstances" : 1,
"MinReadyInstanceRatio" : -1,
"Memory" : 2048,
"PhpConfig" : "k1=v1",
"PhpConfigLocation" : "/usr/local/etc/php/php.ini",
"PostStart" : "{\"exec\":{\"command\":[\"cat\",\"/etc/group\"]}}",
"TerminationGracePeriodSeconds" : 10,
"CommandArgs" : "[\"a\",\"b\"]",
"NamespaceId" : "cn-beijing:test",
"MountHost" : "example.com",
"TomcatConfig" : "{\"port\":8080,\"contextPath\":\"/\",\"maxThreads\":400,\"uriEncoding\":\"ISO-8859-1\",\"useBodyEncodingForUri\":true}",
"RegionId" : "cn-beijing",
"VSwitchId" : "vsw-2ze559r1z1bpwqxwp****",
"Cpu" : 1000,
"Envs" : "[{\"name\":\"TEST_ENV_KEY\",\"value\":\"TEST_ENV_VAR\"}]",
"MountDesc" : [ {
"MountPath" : "/tmp",
"NasPath" : "/"
} ],
"EnableAhas" : "true",
"CustomHostAlias" : "[{\"hostName\":\"test.host.name\",\"ip\":\"0.0.0.0\"}]",
"WebContainer" : "apache-tomcat-7.0.91",
"Command" : "echo",
"WarStartOptions" : "custom-option",
"PhpArmsConfigLocation" : "/usr/local/etc/php/conf.d/arms.ini",
"NasId" : "AKSN89**",
"OssAkId" : "xxxxxx",
"OssAkSecret" : "xxxxxx",
"OssMountDescs" : [ {
"bucketName" : "oss-bucket",
"bucketPath" : "data/user.data",
"mountPath" : "/usr/data/user.data",
"readOnly" : true
} ],
"EdasContainerVersion" : "3.5.3",
"Timezone" : "Asia/Shanghai",
"AppDescription" : "示例应用",
"EnableGreyTagRoute" : false,
"MseApplicationId" : "xxxxxxx@xxxxx",
"AcrInstanceId" : "cri-xxxxxx",
"AcrAssumeRoleArn" : "acs:ram::123456789012****:role/adminrole",
"AssociateEip" : true,
"KafkaConfigs" : "[{\"createTime\":1646304855512,\"kafkaTopic\":\"test\",\"logDir\":\"/tmp/a.log\",\"logType\":\"file_log\"},{\"createTime\":1646304855512,\"kafkaTopic\":\"test2\",\"logDir\":\"/sae-stdlog/kafka-jar*/*\",\"logType\":\"stdout\"}],\"kafkaEndpoint\":\"10.0.X.XXX:XXXX,10.0.X.XXX:XXXX,10.0.X.XXX:XXXX\",\"kafkaInstanceId\":\"alikafka_pre-cn-7pp2l8kr****\",\"region\":\"cn-beijing\"}]",
"ProgrammingLanguage" : "java"
},
"Code" : "200",
"Success" : true
}
错误码
HttpCode | 错误码 | 错误信息 | 描述 |
---|---|---|---|
400 | InvalidApplication.NotFound | The current application does not exist. | 找不到当前应用。 |
404 | InvalidAppId.NotFound | The specified AppId does not exist. | 指定的AppId不存在。 |
访问错误中心查看更多错误码。