如何通过 AWS Java SDK 客户端从 Auto Scale Group 中提取数据
How to Extract Data From Auto Scale Group via AWS Java SDK Client
作为一项业务需求,我们需要从 API 调用中控制 AWS 自动缩放组策略。我浏览了 Java SDK 客户端文档,但找不到与 API 调用相关的任何信息。我不确定这些是否可行。以下是要求,
- 应该能够设置特定 AWS 自动缩放组的所需容量(这在文档中。)
应该能够获得特定 AWS 自动缩放组的所需容量
应该能够获取特定 AWS 自动缩放组的最小计数
应该能够获得特定 AWS 自动缩放组的最大计数
通过 Java SDK 设置自动缩放组所需容量。
AmazonAutoScaling client = AmazonAutoScalingClientBuilder.standard()
.withCredentials(new ProfileCredentialsProvider(CredentialProfiles.API_MANAGER.getProfile())).build();
SetDesiredCapacityRequest request = new SetDesiredCapacityRequest()
.withAutoScalingGroupName(autoScaleGroupNameValue).withDesiredCapacity(desiredCapacityValue)
.withHonorCooldown(true);
SetDesiredCapacityResult response = get().setDesiredCapacity(request);
如果可以通过 AWS SDK Java 客户端执行这些操作,请告诉我。
设置所需容量
AmazonAutoScaling asgClient = AmazonAutoScalingClientBuilder.standard().withCredentials(CREDENTIALS_PROVIDER).build();
SetDesiredCapacityRequest dcRequest = new SetDesiredCapacityRequest()
.withAutoScalingGroupName("AUTO_SCALING_GROUP_NAME").withDesiredCapacity(2);
SetDesiredCapacityResult dcResult = asgClient.setDesiredCapacity(dcRequest);
检索 ASG 详细信息
DescribeAutoScalingGroupsRequest asgRequest = new DescribeAutoScalingGroupsRequest()
.withAutoScalingGroupNames("AUTO_SCALING_GROUP_NAME");
DescribeAutoScalingGroupsResult asgResult = asgClient.describeAutoScalingGroups(asgRequest);
List<AutoScalingGroup> groupList = asgResult.getAutoScalingGroups();
groupList.forEach((asgroup) -> System.out.println(asgroup.getDesiredCapacity())); // Desired Capacity
groupList.forEach((asgroup) -> System.out.println(asgroup.getMinSize())); // Min
groupList.forEach((asgroup) -> System.out.println(asgroup.getMaxSize())); // Max
作为一项业务需求,我们需要从 API 调用中控制 AWS 自动缩放组策略。我浏览了 Java SDK 客户端文档,但找不到与 API 调用相关的任何信息。我不确定这些是否可行。以下是要求,
- 应该能够设置特定 AWS 自动缩放组的所需容量(这在文档中。)
应该能够获得特定 AWS 自动缩放组的所需容量
应该能够获取特定 AWS 自动缩放组的最小计数
应该能够获得特定 AWS 自动缩放组的最大计数
通过 Java SDK 设置自动缩放组所需容量。
AmazonAutoScaling client = AmazonAutoScalingClientBuilder.standard()
.withCredentials(new ProfileCredentialsProvider(CredentialProfiles.API_MANAGER.getProfile())).build();
SetDesiredCapacityRequest request = new SetDesiredCapacityRequest()
.withAutoScalingGroupName(autoScaleGroupNameValue).withDesiredCapacity(desiredCapacityValue)
.withHonorCooldown(true);
SetDesiredCapacityResult response = get().setDesiredCapacity(request);
如果可以通过 AWS SDK Java 客户端执行这些操作,请告诉我。
设置所需容量
AmazonAutoScaling asgClient = AmazonAutoScalingClientBuilder.standard().withCredentials(CREDENTIALS_PROVIDER).build();
SetDesiredCapacityRequest dcRequest = new SetDesiredCapacityRequest()
.withAutoScalingGroupName("AUTO_SCALING_GROUP_NAME").withDesiredCapacity(2);
SetDesiredCapacityResult dcResult = asgClient.setDesiredCapacity(dcRequest);
检索 ASG 详细信息
DescribeAutoScalingGroupsRequest asgRequest = new DescribeAutoScalingGroupsRequest()
.withAutoScalingGroupNames("AUTO_SCALING_GROUP_NAME");
DescribeAutoScalingGroupsResult asgResult = asgClient.describeAutoScalingGroups(asgRequest);
List<AutoScalingGroup> groupList = asgResult.getAutoScalingGroups();
groupList.forEach((asgroup) -> System.out.println(asgroup.getDesiredCapacity())); // Desired Capacity
groupList.forEach((asgroup) -> System.out.println(asgroup.getMinSize())); // Min
groupList.forEach((asgroup) -> System.out.println(asgroup.getMaxSize())); // Max