使用该接口,您可以创建 ECS 集群的应用。

说明 如需要创建 K8s 集群应用,则需要使用 EDAS 提供的 InsertK8sApplication 接口。

调试

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

请求头

该接口使用公共请求头,无特殊请求头。请参见公共请求参数文档。

请求语法

POST /pop/v5/changeorder/co_create_app HTTPS|HTTP

请求参数

名称 类型 是否必选 示例值 描述
ApplicationName String hello-edas-test-1

应用名称(仅允许使用数字、英文字母、-、_ ,最长 36 个字符)

ClusterId String 13136119-f384-4f50-b76e-xxxxxxxxxxx

向指定集群 Id 的 ECS 集群创建应用,不指定为默认集群(推荐指定)

BuildPackId Integer 59

EDAS-Container 构建包号(可通过容器版本列表接口 ListBuildPack 查询获取或者参见 “容器版本” 表格中的 “构建包序号” 列获取),当创建 HSF 应用时,该参数必须指定

Description String create by edas pop api

应用描述信息

ReservedPortStr String 8090

(废弃参数)应用预留端口号

EcuInfo String 07bd417a-b863-477d-****-************

需要扩容机器 ecu_id(导入 EDAS 的 ECS 实例在 EDAS 中的另一唯一身份),多个用“,”分开(其中 ecu_id 可通过查询 ListScaleOutEcu 接口获取)。

Cpu Integer 2

(废弃参数) Swarm 集群应用容器 CPU 核数

Mem Integer 2048

(废弃参数)Swarm集群应用容器 Memory 大小

HealthCheckURL String http://127.0.0.1:8080/_ehc.html

应用健康检查 URL

LogicalRegionId String cn-beijing:prod

命名空间 ID,您可在EDAS控制台左侧菜单栏选择应用管理 -> 命名空间,找到目标命名空间对应的命名空间ID,也可通过ListUserDefineRegion接口获取到命名空间ID。

说明
  • 如果指定的集群不在默认命名空间下,则需要指定该参数,否则会遇到 "application regionId is different with cluster regionId!" 的错误提示;
  • 如果在默认命名空间下,则不需要指定。该参数需要与指定的集群 ID 所在的命名空间保持一致
Jdk String 8

(废弃参数) 用来指定应用使用的 JDK 版本

WebContainer String 4

(废弃参数) 用于指定 Apache Tomcat 版本

PackageType String war

应用包格式,可取值为:war 或者 jar

ComponentIds String 7

应用组件 ID(可通过查询组件列表接口 ListComponents 接口获取到),当创建的应用运行环境使用 Apache Tomcat (war 包格式的 Dubbo 应用需要)或者标准 Java 应用(Jar 包格式的 Spring Boot/Spring Cloud应用需要)运行环境时需要指定。常用的应用组件 ID 及含义:

  • 4:Apache Tomcat 7.0.91
  • 7:Apache Tomcat 8.5.42
  • 5:表示OpenJDK 1.8.x
  • 6:表示 OpenJDK 1.7.x

注意:该参数需要更新 Java 或者 Python SDK 版本到 2.57.3 或以上版本才可以设置,未使用 EDAS 提供的 SDK 的(例如在使用 aliyun-python-sdk-core、aliyun-java-sdk-core、aliyun cli 等)用户可直接设置该参数。

返回数据

名称 类型 示例值 描述
ApplicationInfo Struct

应用创建成功后返回的应用对象

AppId String 6c733bcd-6efb-47a1-8226-cf722cxxxxxx

应用 Id,EDAS 应用的唯一标识符

AppName String hello-edas-test-1

应用名称

ChangeOrderId String ""

变更单 Id

Dockerize Boolean false

是否为 Docker 应用

Owner String 249763358688xxxxxx

该应用拥有者,是应用创建时使用的 AK 对应的用户

Port Integer 8080

创建成功的应用默认端口号 8080,如需修改,请使用 UpdateContainerConfiguration 接口修改

RegionName String ""

地域名称,无效返回值参数值

UserId String tdy218@1362469756xxxxxx

应用拥有者的 USER_ID

Code Integer 200

接口请求返回的状态码

Message String The application name test-hsy-C5039-paas-6 had been created successfully.

接口请求返回的信息

RequestId String 4264F69C-686C-4107-B493-0599C8xxxxxx

接口请求的唯一标识符

示例

请求示例

POST /pop/v5/changeorder/co_create_app HTTP/1.1
公共请求头
{
  "ApplicationName": "hello-edas"
}

正常返回示例

XML 格式

<Message>success</Message>
<ApplicationInfo>
    <Owner>edas_com***_****@******-*****.***</Owner>
    <Port>8080</Port>
    <Dockerize>false</Dockerize>
    <AppId>1b8bb262-0989-4c67-****-************</AppId>
    <ChangeOrderId>b406a3d9-f95c-4273-****-************</ChangeOrderId>
    <AppName>hello-edas-test-1</AppName>
</ApplicationInfo>
<Code>200</Code>

JSON 格式

{
	"Message": "success",
	"ApplicationInfo": {
    "Owner": "edas_com***_****@******-*****.***",
    "Port": 8080,
    "Dockerize": false,
    "AppId": "1b8bb262-0989-4c67-****-************",
    "ChangeOrderId": "b406a3d9-f95c-4273-****-************",
    "AppName": "hello-edas-test-1"
    },
	"Code": 200
}

错误码

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

常见应用的主要参数说明

1. 使用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 集群下创建应用
    

2. 使用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 集群下创建应用
    

3. 使用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 集群下创建应用