1

作为业务需求,我们需要通过 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 客户端执行这些操作。

4

1 回答 1

2

设置所需容量

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
于 2019-01-31T13:01:44.390 回答