調用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 集群下創建應用。