如何通过 AWS Java SDK 客户端从 Auto Scale Group 中提取数据

How to Extract Data From Auto Scale Group via AWS Java SDK Client

作为一项业务需求,我们需要从 API 调用中控制 AWS 自动缩放组策略。我浏览了 Java SDK 客户端文档,但找不到与 API 调用相关的任何信息。我不确定这些是否可行。以下是要求,

通过 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