# 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 | 文档首次发布 |