调用InsertApplication接口在ECS集群中创建应用。
接口说明
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
授权信息
下表是API对应的授权信息,可以在RAM权限策略语句的Action
元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:
- 操作:是指具体的权限点。
- 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
- 资源类型:是指操作中支持授权的资源类型。具体说明如下:
- 对于必选的资源类型,用背景高亮的方式表示。
- 对于不支持资源级授权的操作,用
全部资源
表示。
- 条件关键字:是指云产品自身定义的条件关键字。
- 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作 | 访问级别 | 资源类型 | 条件关键字 | 关联操作 |
---|---|---|---|---|
edas:CreateApplication | Write |
|
| 无 |
请求语法
POST /pop/v5/changeorder/co_create_app
请求参数
名称 | 类型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
ClusterId | string | 否 | ECS 集群 ID。ECS 集群 ID 不为空,则为指定的 ECS 集群创建应用,为空则为默认集群创建应用(推荐指定)。 | 13136119-f384-4f50-b76e-xxxxxxxxxxx |
BuildPackId | integer | 否 | EDAS-Container 构建包号,当创建 HSF 应用时,该参数必须指定。有以下两种获取方式:
| 59 |
Description | string | 否 | 应用描述信息。 | create by edas pop api |
ApplicationName | string | 是 | 应用名称。仅允许使用数字、英文字母、短划线(-)和下划线(_) ,而且必须以英文字母开头,最长 36 个字符。 | hello-edas-test-1 |
ReservedPortStr | string | 否 | **(废弃参数)**应用预留端口号。 | 8090 |
EcuInfo | string | 否 | 需要扩容的 ECS 实例的 | 07bd417a-b863-477d-****-************ |
Cpu | integer | 否 | **(废弃参数)**Swarm 集群应用容器 CPU 核数。 | 2 |
Mem | integer | 否 | **(废弃参数)**Swarm 集群应用容器 Memory 大小。 | 2048 |
HealthCheckURL | string | 否 | 应用健康检查 URL。 | http://127.0.0.1:8080/_ehc.html |
LogicalRegionId | string | 否 | 微服务空间 ID,您可在 EDAS 控制台左侧菜单栏选择资源管理 > 微服务空间,找到目标微服务空间对应的微服务空间 ID,也可通过 ListUserDefineRegion 接口获取到微服务空间 ID,请参见 ListUserDefineRegion 。
| cn-beijing:prod |
Jdk | string | 否 | (废弃参数) 用来指定应用使用的 JDK 版本。 | 8 |
WebContainer | string | 否 | (废弃参数) 用于指定 Apache Tomcat 版本。 | 4 |
PackageType | string | 否 | 应用部署包格式,可设置为 war 或者 jar。 | war |
ComponentIds | string | 否 | 应用组件 ID。可通过查询组件列表接口 ListComponents 接口获取,请参见 ListComponents 。 当创建的应用运行环境使用 Apache Tomcat(适用于 WAR 包部署的 Dubbo 应用)或者标准 Java 应用运行环境(适用于 JAR 包部署的 Spring Boot 或 Spring Cloud 应用)时需要指定。 常用的应用组件 ID 及含义:
该参数需要更新 Java 或者 Python SDK 版本到 2.57.3 或以上版本才可以设置,未使用 EDAS 提供的 SDK 的(例如在使用 aliyun-python-sdk-core、aliyun-java-sdk-core、aliyun cli 等)用户可直接设置该参数。 | 7 |
Hooks | string | 否 | 挂载脚本配置,为一段 JSON 格式文本,如:
| [{"ignoreFail":false,"name":"postprepareInstanceEnvironmentOnScaleOut","script":"ls"}] |
JvmOptions | string | 否 | 自定义参数。 | -Dproperty=value |
MinHeapSize | integer | 否 | 初始化堆内存大小,单位 M。 | 500 |
MaxPermSize | integer | 否 | 持久代内存大小,单位 M。 | 200 |
MaxHeapSize | integer | 否 | 最大堆内存大小,单位 M。 | 1000 |
EnableUrlCheck | boolean | 否 | 是否启用健康检查 URL,取值如下:
| true |
EnablePortCheck | boolean | 否 | 是否启用端口健康检查,取值如下:
| true |
HealthCheckUrl | string | 否 | 应用健康检查 URL(等价于 HealthCheckURL 参数)。 | http://127.0.0.1:8080/_ehc.html |
ResourceGroupId | string | 否 | 资源组 ID。 | rg-aek24j4s4b***** |
返回参数
示例
正常返回示例
JSON
格式
{
"Code": 200,
"Message": "The application name test-hsy-C5039-paas-6 had been created successfully.",
"RequestId": "4264F69C-686C-4107-B493-0599C8xxxxxx",
"ApplicationInfo": {
"ChangeOrderId": "d0cf569e-dce3-4efb-****-08b70021****",
"AppName": "hello-edas-test-1",
"Owner": "249763358688********",
"Dockerize": false,
"RegionName": "cn-hangzhou",
"AppId": "6c733bcd-6efb-47a1-8226-cf722c******",
"UserId": "tdy218@1362469756xxxxxx",
"Port": 8080
}
}
错误码
访问错误中心查看更多错误码。
变更历史
变更时间 | 变更内容概要 | 操作 |
---|
常见应用的主要参数说明
-
使用 EDAS Java SDK 创建 Apache Tomcat 作为应用运行环境的原生 Dubbo、 Java Web 等类型应用主要参数:
InsertApplicationRequest request = new InsertApplicationRequest(); request.setApplicationName("hello-edas-test-1"); //应用名称。 request.setPackageType("war"); // 应用包类型,也可以不指定。 request.setComponentIds("7"); // 7 或者 4。7 表示 Apache Tomcat 8.5.42,4 表示 Apache Tomcat 7.0.91。 request.setLogicalRegionId("cn-hangzhou:prod"); // 命名空间 ID,注意不是命名空间的名称,当指定的集群不在默认命名空间下时,该参数必填。 request.setClusterId("ebc364ca-1875-4266-ae1f-ad0e7c179417"); // 在指定 Cluster ID 的 ECS 集群下创建应用。
-
使用 EDAS Java SDK 创建标准 Java 应用运行时环境的原生 Spring Boot/Spring Cloud 等 FatJar 类型应用主要参数:
InsertApplicationRequest request = new InsertApplicationRequest(); request.setApplicationName("hello-edas-test-2"); //应用名称。 request.setPackageType("jar"); // 应用包类型,也可以不指定。 request.setComponentIds("5"); // 5 或者 6。5 表示 OpenJDK 1.8.0;6 表示 OpenJDK 1.8.0;也可以不指定该参数,默认将使用 OpenJDK 1.8.0。 request.setLogicalRegionId("cn-hangzhou:prod"); // 命名空间 ID,注意不是命名空间的名称,当指定的集群不在默认命名空间下时,该参数必填。 request.setClusterId("ebc364ca-1875-4266-ae1f-ad0e7c179417"); // 在指定 Cluster ID 的 ECS 集群下创建应用。
-
使用 EDAS Java SDK 创建 EDAS-Container 作为应用运行时环境的 HSF 应用主要参数:
InsertApplicationRequest request = new InsertApplicationRequest(); request.setBuildPackId(59); // EDAS-Container 构建包版本号,59 表示使用 edas-container 3.5.8。 request.setApplicationName("hello-edas-test-3"); //应用名称。 request.setPackageType("war"); // 应用包类型,war 或者 jar,也可以不填写。 request.setLogicalRegionId("cn-hangzhou:prod"); // 命名空间 ID,注意不是命名空间的名称,当指定的集群不在默认命名空间下时,该参数必填。 request.setClusterId("ebc364ca-1875-4266-ae1f-ad0e7c179417"); // 在指定 Cluster ID 的 ECS 集群下创建应用。