调用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":{"command":["sh","-c","cat /home/admin/start.sh"]},"initialDelaySeconds":30,"periodSeconds":30,"timeoutSeconds":2}

  • command:设置健康检查命令。
  • initialDelaySeconds:设置健康检查延迟检测时间,默认为10,单位为秒。
  • periodSeconds:设置健康检查周期,默认为30,单位为秒。
  • timeoutSeconds:设置健康检查超时等待时间,默认为1,单位为秒。如果设置为0或不设置,默认超时等待时间为1秒。
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 TypeImage时不支持。

ImageUrl String docker.io/library/nginx:1.14.2

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

SlsConfigs String [{\"logDir\":\"/root/logs/hsf.log\"}]

文件日志采集配置。

Liveness String {"exec":{"command":["curl http://localhost:8080"]},"initialDelaySeconds":20,"timeoutSeconds":3}

容器健康检查,健康检查失败的容器将被重启。目前仅支持容器内下发命令的方式。例如:{"exec":{"command":["sh","-c","cat /home/admin/start.sh"]},"initialDelaySeconds":30,"periodSeconds":30,"timeoutSeconds":2}

  • command:设置健康检查命令。
  • initialDelaySeconds:设置健康检查延迟检测时间,默认为10,单位为秒。
  • periodSeconds:设置健康检查周期,默认为30,单位为秒。
  • timeoutSeconds:设置健康检查超时等待时间,默认为1,单位为秒。如果设置为0或不设置,默认超时等待时间为1秒。
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-edas.war

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

PackageType String War

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

  • 当您选择用Java部署时,支持FatJarWarImage
  • 当您选择用PHP部署时,支持类型如下:
    • 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
    • PhpZip
PreStop String {"exec":{"command":["cat","/etc/group"]}}

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

PackageVersion String 1.0

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

JarStartArgs String start

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

AppName String demo-app

应用名称。

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

应用ID。

JarStartOptions String -Dtest=true

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

Replicas Integer 2

应用实例个数。

MinReadyInstances Integer 1

最小存活实例数。

Memory Integer 2048

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

  • 1024:对应CPU为500毫核。
  • 2048:对应CPU为500和1000毫核。
  • 4096:对应CPU为1000和2000毫核。
  • 8192:对应CPU为2000和4000毫核。
  • 16384:对应CPU为4000和8000毫核。
  • 32768:对应CPU为16000毫核。
  • 65536:对应CPU为8000、16000和32000毫核。
  • 131072:对应CPU为32000毫核。
PhpConfig String k1=v1

PHP配置文件内容。

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

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

PostStart String {"exec":{"command":["cat","/etc/group"]}}

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

TerminationGracePeriodSeconds Integer 10

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

CommandArgs String ["-c","echo 1234"]

应用容器启动命令参数。

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文件配置,设置为""或"{}"表示删除配置:

  • port:端口范围为1024~65535,小于1024的端口需要Root权限才能操作。因为容器配置的是Admin权限,所以请填写大于1024的端口。如果不配置,则默认为8080。
  • contextPath:访问路径,默认为根目录"/"。
  • maxThreads:配置连接池的连接数大小,默认大小为400。
  • uriEncoding:Tomcat的编码格式,包括UTF-8ISO-8859-1GBKGB2312。如果不设置,则默认为ISO-8859-1
  • useBodyEncoding:是否使用BodyEncoding for URL,默认为true
RegionId String cn-beijing

地域ID。

VSwitchId String vsw-2ze559r1z1bpwqxwp****

vSwitch ID。

Cpu Integer 1000

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

  • 500
  • 1000
  • 2000
  • 4000
  • 8000
  • 16000
  • 32000
Envs String [{"name":"TEST_ENV_KEY","value":"TEST_ENV_VAR"}]

容器环境变量参数。取值说明如下:

  • name:环境变量名称。
  • value:环境变量值或环境变量引用。
MountDesc Array of MountDesc

挂载描述信息。

MountPath String /tmp

容器挂载路径。

NasPath String /

NAS相对文件目录。

EnableAhas String true

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

  • true:表示接入AHAS。
  • false:表示不接入AHAS。
CustomHostAlias String [{"hostName":"test.host.name","ip":"0.0.0.0"}]

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

  • hostName:域名或主机名。
  • ip:IP地址。
WebContainer String apache-tomcat-7.0.91

部署包依赖的Tomcat版本。当Package TypeImage时不支持。

Command String /bin/bash

应用容器启动命令。

WarStartOptions String custom-option

WAR包启动应用选项。应用默认启动命令:java $JAVA_OPTS $CATALINA_OPTS -Options org.apache.catalina.startup.Bootstrap "$@" start

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

容器路径是否对挂载目录资源有可读权限,取值说明如下:

  • true:只读权限。
  • false:读写权限。
EdasContainerVersion String 3.5.3

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

Timezone String Asia/Shanghai

时区,默认为Asia/Shanghai

AppDescription String 示例应用

应用描述信息。

EnableGreyTagRoute Boolean false

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

  • true:启用灰度规则。
  • false:禁用灰度规则。
MseApplicationId String xxxxxxx@xxxxx

对应MSE产品侧应用ID。

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

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

AssociateEip Boolean true

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

  • true:表示绑定。
  • false:表示不绑定。
ErrorCode String

错误码。取值说明如下:

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

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

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

获取应用配置信息是否成功。取值说明如下:

  • true:表示获取成功。
  • false:表示获取失败。

示例

请求示例

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\":\"/root/logs/hsf.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-edas.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>
        <MinReadyInstances>1</MinReadyInstances>
        <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>["-c","echo 1234"]</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>/bin/bash</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>
        <AcrAssumeRoleArn>acs:ram::123456789012****:role/adminrole</AcrAssumeRoleArn>
        <AssociateEip>true</AssociateEip>
    </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\\\":\\\"/root/logs/hsf.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-edas.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,
    "MinReadyInstances" : 1,
    "Memory" : 2048,
    "PhpConfig" : "k1=v1",
    "PhpConfigLocation" : "/usr/local/etc/php/php.ini",
    "PostStart" : "{\"exec\":{\"command\":[\"cat\",\"/etc/group\"]}}",
    "TerminationGracePeriodSeconds" : 10,
    "CommandArgs" : "[\"-c\",\"echo 1234\"]",
    "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" : "/bin/bash",
    "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",
    "AcrAssumeRoleArn" : "acs:ram::123456789012****:role/adminrole",
    "AssociateEip" : true
  },
  "Code" : "200",
  "Success" : true
}

错误码

HttpCode 错误码 错误信息 描述
400 InvalidApplication.NotFound The current application does not exist. 找不到当前应用。
404 InvalidAppId.NotFound The specified AppId does not exist. 指定的AppId不存在。

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