74 lines
3.1 KiB
Java
74 lines
3.1 KiB
Java
package com.aliyun.sample;
|
||
|
||
import com.aliyuncs.DefaultAcsClient;
|
||
import com.aliyuncs.IAcsClient;
|
||
import com.aliyuncs.ecs.model.v20140526.CreateInstanceRequest;
|
||
import com.aliyuncs.ecs.model.v20140526.CreateInstanceResponse;
|
||
import com.aliyuncs.exceptions.ClientException;
|
||
import com.aliyuncs.profile.DefaultProfile;
|
||
|
||
/**
|
||
* 阿里云ECS实例创建器示例类。
|
||
* 本类用于演示如何通过阿里云SDK在Java中创建一个ECS实例。
|
||
*/
|
||
public class AliyunEcsInstanceCreator {
|
||
|
||
/**
|
||
* 主函数:创建一个阿里云ECS实例。
|
||
*
|
||
* @param args 命令行参数(未使用)
|
||
*
|
||
* 注意:本示例中使用的AccessKeyId、AccessKeySecret、regionId、imageId、instanceType等信息为示意,
|
||
* 实际使用时需要替换为有效的阿里云账号信息。
|
||
*/
|
||
public static void main(String[] args) {
|
||
// 设置阿里云账号的认证信息
|
||
String accessKeyId = "LTAI5tANGefs2gi8nsu4AoSZ";
|
||
String accessKeySecret = "Ut5RaJvvG7dP8hgK82qjdtvyUA6x8g";
|
||
String regionId = "cn-zhangjiakou"; // 实例所在的地域ID
|
||
String instanceName = "Test"; // 实例名称
|
||
String imageId = "m-8vb1u2bhootky8sgg2ft"; // 镜像ID
|
||
String instanceType = "ecs.t6-c2m1.large"; // 实例规格
|
||
|
||
// 初始化阿里云客户端
|
||
DefaultProfile profile = DefaultProfile.getProfile(regionId, accessKeyId, accessKeySecret);
|
||
IAcsClient client = new DefaultAcsClient(profile);
|
||
|
||
// 配置创建实例的请求参数
|
||
CreateInstanceRequest request = new CreateInstanceRequest();
|
||
request.setImageId(imageId); // 设置使用的镜像ID
|
||
request.setInstanceName(instanceName); // 设置实例名称
|
||
request.setInstanceType(instanceType); // 设置实例规格
|
||
|
||
// 配置抢占式实例的属性
|
||
request.setInstanceChargeType("PostPaid"); // 实例付费类型,此处为按量付费
|
||
request.setSpotStrategy("SpotWithPriceLimit"); // 抢占式实例的出价策略,设置为有限价格
|
||
|
||
|
||
request.setImageId(imageId); // 设置使用的镜像ID
|
||
request.setInstanceName(instanceName); // 设置实例名称
|
||
request.setInstanceType(instanceType); // 设置实例规格
|
||
|
||
|
||
// 配置网络和公网带宽
|
||
request.setVSwitchId("vpc-8vbbw0obosvd5p5i2y5nq"); // 设置实例所在的子网ID
|
||
request.setInternetMaxBandwidthOut(5); // 设置公网出带宽上限,单位为Mbps
|
||
|
||
|
||
// 配置抢占式实例的属性
|
||
request.setInstanceChargeType("PostPaid"); // 实例付费类型,此处为按量付费
|
||
request.setSpotStrategy("SpotWithPriceLimit"); // 抢占式实例的出价策略,设置为有限价格
|
||
|
||
request.setSpotPriceLimit(1F); // 设置抢占式实例的最高每小时价格限制
|
||
|
||
|
||
// 发送创建实例的请求并处理响应
|
||
try {
|
||
CreateInstanceResponse response = client.getAcsResponse(request);
|
||
System.out.println("Instance Created: " + response.getInstanceId());
|
||
} catch (ClientException e) {
|
||
e.printStackTrace();
|
||
}
|
||
}
|
||
}
|