style():优化代码
parent
782f31446b
commit
cb79600bc0
|
@ -1,4 +1,4 @@
|
||||||
package com.muyu.vehicleGateway.controller;
|
package com.muyu.vehiclegateway.controller;
|
||||||
|
|
||||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
import org.eclipse.paho.client.mqttv3.*;
|
import org.eclipse.paho.client.mqttv3.*;
|
|
@ -1,5 +1,7 @@
|
||||||
package com.muyu.vehicleGateway.instance;
|
package com.muyu.vehiclegateway.instance;
|
||||||
|
|
||||||
|
import com.aliyun.ecs20140526.Client;
|
||||||
|
import com.aliyun.teaopenapi.models.Config;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -18,17 +20,17 @@ public class CreateClient {
|
||||||
*
|
*
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
public static com.aliyun.ecs20140526.Client createClient() throws Exception {
|
public static Client createClient() throws Exception {
|
||||||
// 工程代码泄露可能会导致 AccessKey 泄露,并威胁账号下所有资源的安全性。以下代码示例仅供参考。
|
// 工程代码泄露可能会导致 AccessKey 泄露,并威胁账号下所有资源的安全性。以下代码示例仅供参考。
|
||||||
// 建议使用更安全的 STS 方式,更多鉴权访问方式请参见:https://help.aliyun.com/document_detail/378657.html。
|
// 建议使用更安全的 STS 方式,更多鉴权访问方式请参见:https://help.aliyun.com/document_detail/378657.html。
|
||||||
com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
|
Config config = new Config()
|
||||||
// 必填,请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_ID。
|
// 必填,请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_ID。
|
||||||
.setAccessKeyId("LTAI5tLZdFdgNAXQyvs4nGGT")
|
.setAccessKeyId("LTAI5tLZdFdgNAXQyvs4nGGT")
|
||||||
// 必填,请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_SECRET。
|
// 必填,请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_SECRET。
|
||||||
.setAccessKeySecret("cpG2Yq7G4s7veCidc2y5bUeJQwI3lI");
|
.setAccessKeySecret("cpG2Yq7G4s7veCidc2y5bUeJQwI3lI");
|
||||||
// Endpoint 请参考 https://api.aliyun.com/product/Ecs
|
// Endpoint 请参考 https://api.aliyun.com/product/Ecs
|
||||||
config.endpoint = "ecs.cn-shanghai.aliyuncs.com";
|
config.endpoint = "ecs.cn-shanghai.aliyuncs.com";
|
||||||
return new com.aliyun.ecs20140526.Client(config);
|
return new Client(config);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -1,31 +1,36 @@
|
||||||
// This file is auto-generated, don't edit it. Thanks.
|
// This file is auto-generated, don't edit it. Thanks.
|
||||||
package com.muyu.vehicleGateway.instance;
|
package com.muyu.vehiclegateway.instance;
|
||||||
|
|
||||||
|
import com.aliyun.ecs20140526.Client;
|
||||||
|
import com.aliyun.ecs20140526.models.DeleteInstancesRequest;
|
||||||
import com.aliyun.ecs20140526.models.DescribeInstancesRequest;
|
import com.aliyun.ecs20140526.models.DescribeInstancesRequest;
|
||||||
import com.aliyun.ecs20140526.models.DescribeInstancesResponse;
|
import com.aliyun.ecs20140526.models.DescribeInstancesResponse;
|
||||||
import com.aliyun.ecs20140526.models.DescribeInstancesResponseBody;
|
import com.aliyun.ecs20140526.models.DescribeInstancesResponseBody;
|
||||||
import com.aliyun.tea.*;
|
import com.aliyun.tea.*;
|
||||||
|
import com.aliyun.teautil.Common;
|
||||||
import com.aliyun.teautil.models.RuntimeOptions;
|
import com.aliyun.teautil.models.RuntimeOptions;
|
||||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
import lombok.extern.log4j.Log4j2;
|
import lombok.extern.log4j.Log4j2;
|
||||||
import org.springframework.beans.factory.DisposableBean;
|
import org.springframework.beans.factory.DisposableBean;
|
||||||
import org.springframework.boot.CommandLineRunner;
|
|
||||||
import org.springframework.context.annotation.Bean;
|
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import javax.annotation.PreDestroy;
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ClassName GenerateInstance
|
||||||
|
* @Description 描述
|
||||||
|
* @Author YiBo.Liu
|
||||||
|
* @Date 2024/9/28 19:39
|
||||||
|
*/
|
||||||
@Log4j2
|
@Log4j2
|
||||||
@Component
|
@Component
|
||||||
@Tag(name = "启动时创建实例")
|
@Tag(name = "停止程序时删除ECS服务器实例")
|
||||||
public class DelInstance implements DisposableBean {
|
public class DelInstance implements DisposableBean {
|
||||||
|
|
||||||
public static void delInstance() throws Exception {
|
public static void delInstance() throws Exception {
|
||||||
|
|
||||||
// 创建ECS客户端对象,用于后续调用ECS相关API
|
// 创建ECS客户端对象,用于后续调用ECS相关API
|
||||||
com.aliyun.ecs20140526.Client client = CreateClient.createClient();
|
Client client = CreateClient.createClient();
|
||||||
|
|
||||||
DescribeInstancesRequest describeInstancesRequest = new DescribeInstancesRequest()
|
DescribeInstancesRequest describeInstancesRequest = new DescribeInstancesRequest()
|
||||||
.setRegionId("cn-shanghai");
|
.setRegionId("cn-shanghai");
|
||||||
|
@ -39,8 +44,6 @@ public class DelInstance implements DisposableBean {
|
||||||
//提取实例ID集合
|
//提取实例ID集合
|
||||||
ArrayList<String> list = new ArrayList<>();
|
ArrayList<String> list = new ArrayList<>();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
DescribeInstancesResponseBody body = describeInstancesResponse.getBody();
|
DescribeInstancesResponseBody body = describeInstancesResponse.getBody();
|
||||||
|
|
||||||
for (DescribeInstancesResponseBody.DescribeInstancesResponseBodyInstancesInstance instance : body.getInstances().getInstance()) {
|
for (DescribeInstancesResponseBody.DescribeInstancesResponseBodyInstancesInstance instance : body.getInstances().getInstance()) {
|
||||||
|
@ -48,12 +51,11 @@ public class DelInstance implements DisposableBean {
|
||||||
}
|
}
|
||||||
|
|
||||||
for (String string : list) {
|
for (String string : list) {
|
||||||
System.out.println("实例id:"+string);
|
log.info("实例id:"+string);
|
||||||
}
|
}
|
||||||
|
|
||||||
log.info("Instance IDs: " + list);
|
|
||||||
// 创建删除实例请求对象,并设置请求参数
|
// 创建删除实例请求对象,并设置请求参数
|
||||||
com.aliyun.ecs20140526.models.DeleteInstancesRequest deleteInstancesRequest = new com.aliyun.ecs20140526.models.DeleteInstancesRequest()
|
DeleteInstancesRequest deleteInstancesRequest = new DeleteInstancesRequest()
|
||||||
// 设置地域ID,指定删除实例的地域
|
// 设置地域ID,指定删除实例的地域
|
||||||
.setRegionId("cn-shanghai")
|
.setRegionId("cn-shanghai")
|
||||||
// 设置DryRun为true,用于验证请求是否可以成功,但不实际执行删除操作
|
// 设置DryRun为true,用于验证请求是否可以成功,但不实际执行删除操作
|
||||||
|
@ -66,7 +68,7 @@ public class DelInstance implements DisposableBean {
|
||||||
|
|
||||||
System.out.println("删除ECS实例成功");
|
System.out.println("删除ECS实例成功");
|
||||||
// 创建运行时选项对象,用于配置运行时的选项参数
|
// 创建运行时选项对象,用于配置运行时的选项参数
|
||||||
com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions();
|
RuntimeOptions runtime = new RuntimeOptions();
|
||||||
try {
|
try {
|
||||||
// 复制代码运行请自行打印 API 的返回值
|
// 复制代码运行请自行打印 API 的返回值
|
||||||
client.deleteInstancesWithOptions(deleteInstancesRequest, runtime);
|
client.deleteInstancesWithOptions(deleteInstancesRequest, runtime);
|
||||||
|
@ -76,15 +78,15 @@ public class DelInstance implements DisposableBean {
|
||||||
System.out.println(error.getMessage());
|
System.out.println(error.getMessage());
|
||||||
// 诊断地址
|
// 诊断地址
|
||||||
System.out.println(error.getData().get("Recommend"));
|
System.out.println(error.getData().get("Recommend"));
|
||||||
com.aliyun.teautil.Common.assertAsString(error.message);
|
Common.assertAsString(error.message);
|
||||||
} catch (Exception _error) {
|
} catch (Exception _error) {
|
||||||
TeaException error = new TeaException(_error.getMessage(), _error);
|
TeaException error = new TeaException(_error.getMessage(), _error);
|
||||||
// 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。
|
// 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。
|
||||||
// 错误 message
|
// 错误 message
|
||||||
System.out.println(error.getMessage());
|
log.info("错误:"+error.getMessage());
|
||||||
// 诊断地址
|
// 诊断地址
|
||||||
System.out.println(error.getData().get("Recommend"));
|
log.info("错误:"+error.getData().get("Recommend"));
|
||||||
com.aliyun.teautil.Common.assertAsString(error.message);
|
Common.assertAsString(error.message);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,10 @@
|
||||||
package com.muyu.vehicleGateway.instance;
|
package com.muyu.vehiclegateway.instance;
|
||||||
|
|
||||||
|
import com.aliyun.ecs20140526.Client;
|
||||||
|
import com.aliyun.ecs20140526.models.RunInstancesRequest;
|
||||||
import com.aliyun.tea.TeaException;
|
import com.aliyun.tea.TeaException;
|
||||||
|
import com.aliyun.teautil.Common;
|
||||||
|
import com.aliyun.teautil.models.RuntimeOptions;
|
||||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
import lombok.extern.log4j.Log4j2;
|
import lombok.extern.log4j.Log4j2;
|
||||||
import org.springframework.boot.ApplicationArguments;
|
import org.springframework.boot.ApplicationArguments;
|
||||||
|
@ -15,7 +19,7 @@ import org.springframework.stereotype.Component;
|
||||||
*/
|
*/
|
||||||
@Component
|
@Component
|
||||||
@Log4j2
|
@Log4j2
|
||||||
@Tag(name = "程序停止删除实例")
|
@Tag(name = "程序启动创建ECS服务器实例")
|
||||||
public class GenerateInstance implements ApplicationRunner {
|
public class GenerateInstance implements ApplicationRunner {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -25,12 +29,12 @@ public class GenerateInstance implements ApplicationRunner {
|
||||||
public static void generateInstance() throws Exception {
|
public static void generateInstance() throws Exception {
|
||||||
|
|
||||||
// 创建ECS客户端对象,用于后续调用ECS相关API
|
// 创建ECS客户端对象,用于后续调用ECS相关API
|
||||||
com.aliyun.ecs20140526.Client client = CreateClient.createClient();
|
Client client = CreateClient.createClient();
|
||||||
|
|
||||||
com.aliyun.ecs20140526.models.RunInstancesRequest.RunInstancesRequestSystemDisk systemDisk = new com.aliyun.ecs20140526.models.RunInstancesRequest.RunInstancesRequestSystemDisk()
|
RunInstancesRequest.RunInstancesRequestSystemDisk systemDisk = new RunInstancesRequest.RunInstancesRequestSystemDisk()
|
||||||
.setSize("40")
|
.setSize("40")
|
||||||
.setCategory("cloud_essd");
|
.setCategory("cloud_essd");
|
||||||
com.aliyun.ecs20140526.models.RunInstancesRequest runInstancesRequest = new com.aliyun.ecs20140526.models.RunInstancesRequest()
|
RunInstancesRequest runInstancesRequest = new RunInstancesRequest()
|
||||||
// 设置地域ID
|
// 设置地域ID
|
||||||
.setRegionId("cn-shanghai")
|
.setRegionId("cn-shanghai")
|
||||||
// 设置镜像ID
|
// 设置镜像ID
|
||||||
|
@ -56,9 +60,7 @@ public class GenerateInstance implements ApplicationRunner {
|
||||||
// 设置创建实例的数量
|
// 设置创建实例的数量
|
||||||
.setAmount(1);
|
.setAmount(1);
|
||||||
|
|
||||||
|
RuntimeOptions runtime = new RuntimeOptions();
|
||||||
|
|
||||||
com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions();
|
|
||||||
try {
|
try {
|
||||||
// 复制代码运行请自行打印 API 的返回值
|
// 复制代码运行请自行打印 API 的返回值
|
||||||
client.runInstancesWithOptions(runInstancesRequest, runtime);
|
client.runInstancesWithOptions(runInstancesRequest, runtime);
|
||||||
|
@ -68,7 +70,7 @@ public class GenerateInstance implements ApplicationRunner {
|
||||||
System.out.println(error.getMessage());
|
System.out.println(error.getMessage());
|
||||||
// 诊断地址
|
// 诊断地址
|
||||||
System.out.println(error.getData().get("Recommend"));
|
System.out.println(error.getData().get("Recommend"));
|
||||||
com.aliyun.teautil.Common.assertAsString(error.message);
|
Common.assertAsString(error.message);
|
||||||
} catch (Exception _error) {
|
} catch (Exception _error) {
|
||||||
TeaException error = new TeaException(_error.getMessage(), _error);
|
TeaException error = new TeaException(_error.getMessage(), _error);
|
||||||
// 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。
|
// 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。
|
||||||
|
@ -76,7 +78,7 @@ public class GenerateInstance implements ApplicationRunner {
|
||||||
System.out.println(error.getMessage());
|
System.out.println(error.getMessage());
|
||||||
// 诊断地址
|
// 诊断地址
|
||||||
System.out.println(error.getData().get("Recommend"));
|
System.out.println(error.getData().get("Recommend"));
|
||||||
com.aliyun.teautil.Common.assertAsString(error.message);
|
Common.assertAsString(error.message);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue