# huaweicloud-compute-alkaid-cms-as-CreateScalingConfig-java **Repository Path**: HuaweiCloudDeveloper/huaweicloud-compute-alkaid-cms-as-create-scaling-config-java ## Basic Information - **Project Name**: huaweicloud-compute-alkaid-cms-as-CreateScalingConfig-java - **Description**: 弹性伸缩服务(瑶光团队)中高频API的代码示例仓库,主要包含伸缩组配置创建的API的示例 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master-dev - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-06-07 - **Last Updated**: 2025-06-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 1、功能介绍 弹性伸缩(Auto Scaling,以下简称AS)是根据用户的业务需求,通过设置伸缩规则来自动增加/缩减业务资源 华为云提供了AS服务端SDK,您可以直接集成服务端SDK来调用AS的相关API,从而实现对AS的快速操作。 该示例展示了如何通过java版SDK创建伸缩配置。 ## 2、前置条件 1. 获取华为云开发工具包(SDK),您也可以查看安装JAVA SDK。具体请参见[SDK概述_弹性伸缩 AS_SDK参考_华为云 (huaweicloud.com)](https://support.huaweicloud.com/sdkreference-as/as_sdk_0101.html) 2. 要使用华为云 Java SDK,您需要拥有华为云账号以及该账号对应的 Access Key(AK)和 Secret Access Key(SK)。请在华为云控制台“我的凭证 > 访问密钥”页面上创建和查看您的AK/SK。具体请参见 [访问密钥](https://support.huaweicloud.com/usermanual-ca/zh-cn_topic_0046606340.html) 。 3. 华为云 Java SDK 支持 **Java JDK 1.8** 及其以上版本。 ## 3、SDK获取和安装 您可以通过Maven配置所依赖的主机迁移服务SDK ```xml com.huaweicloud.sdk huaweicloud-sdk-as 3.1.46 ``` ## 4、示例代码 创建伸缩配置示例代码如下: ```java import com.huaweicloud.sdk.as.v1.AsClient; import com.huaweicloud.sdk.as.v1.model.CreateScalingConfigOption; import com.huaweicloud.sdk.as.v1.model.CreateScalingConfigRequest; import com.huaweicloud.sdk.as.v1.model.CreateScalingConfigResponse; import com.huaweicloud.sdk.as.v1.model.DiskInfo; import com.huaweicloud.sdk.as.v1.model.InstanceConfig; import com.huaweicloud.sdk.as.v1.model.SecurityGroups; import com.huaweicloud.sdk.as.v1.region.AsRegion; import com.huaweicloud.sdk.core.auth.BasicCredentials; import com.huaweicloud.sdk.core.auth.ICredential; import com.huaweicloud.sdk.core.exception.ConnectionException; import com.huaweicloud.sdk.core.exception.RequestTimeoutException; import com.huaweicloud.sdk.core.exception.ServiceResponseException; import java.util.ArrayList; import java.util.List; public class CreateScalingConfigSolution { public static void main(String[] args) { ICredential auth = initCredential(); AsClient client = initAsClient(auth); CreateScalingConfigRequest request = initCreateScalingConfigRequest(); try { CreateScalingConfigResponse response = client.createScalingConfig(request); System.out.println(response.toString()); } catch (ConnectionException e) { e.printStackTrace(); } catch (RequestTimeoutException e) { e.printStackTrace(); } catch (ServiceResponseException e) { e.printStackTrace(); System.out.println(e.getHttpStatusCode()); System.out.println(e.getRequestId()); System.out.println(e.getErrorCode()); System.out.println(e.getErrorMsg()); } } private static AsClient initAsClient(ICredential auth) { return AsClient.newBuilder().withCredential(auth).withRegion(AsRegion.valueOf("${YOUR region}")).build(); } private static ICredential initCredential() { String ak = ""; String sk = ""; return new BasicCredentials().withAk(ak).withSk(sk); } private static CreateScalingConfigRequest initCreateScalingConfigRequest() { CreateScalingConfigRequest request = new CreateScalingConfigRequest(); CreateScalingConfigOption body = initCreateScalingConfigOption(); request.withBody(body); return request; } private static CreateScalingConfigOption initCreateScalingConfigOption() { CreateScalingConfigOption body = new CreateScalingConfigOption(); body.setScalingConfigurationName("${scaling config name}"); InstanceConfig instanceConfig = initInstanceConfig(); body.setInstanceConfig(instanceConfig); return body; } private static InstanceConfig initInstanceConfig() { // 详细各参数说明详见 https://console.huaweicloud.com/apiexplorer/#/openapi/AS/sdk?api=CreateScalingConfig InstanceConfig instanceConfig = new InstanceConfig(); // 机器规格,多种规格逗号分割 instanceConfig.setFlavorRef("${flavor list}"); // 镜像ID instanceConfig.setImageRef("${image id}"); // 磁盘组信息,系统盘必选,数据盘可选 List disks = new ArrayList<>(); instanceConfig.setDisk(disks); // 安全组 List securityGroups = new ArrayList<>(); instanceConfig.setSecurityGroups(securityGroups); return instanceConfig; } } ``` ## 5、运行结果 ```json {"scaling_configuration_id":"3be6920f-46e2-4c2d-b057-24e0c73d378e"} ``` ## 6、参考 1. sdk 获取 [SDK概述_弹性伸缩 AS_SDK参考_华为云 (huaweicloud.com)](https://support.huaweicloud.com/sdkreference-as/as_sdk_0101.html) 2. ak sk获取 [我的凭证_用户指南_华为云 (huaweicloud.com)](https://support.huaweicloud.com/usermanual-ca/zh-cn_topic_0046606340.html) ## 7、修订记录 | 发布日期 | 文档版本 | 修订说明 | | ---------- | -------- | ------------ | | 2023-07-24 | 1.0 | 文档首次发布 |