Как проверить активность автоматического масштабирования до автоматического масштабирования в AWS Java SDK - PullRequest
0 голосов
/ 22 февраля 2019

Я использую AWS Java SDK для автоматического масштабирования экземпляров ec2.Ниже приведен фрагмент кода.

AmazonAutoScaling client = AmazonAutoScalingClientBuilder.standard().build();
SetDesiredCapacityRequest request = new SetDesiredCapacityRequest().withAutoScalingGroupName("my-auto-scaling-group").withDesiredCapacity(2)
        .withHonorCooldown(true);
SetDesiredCapacityResult response = client.setDesiredCapacity(request);

Я установил withHonorCooldown () как true.Это означает, что последующие запросы автоматического масштабирования блокируются до тех пор, пока AWS не запустит экземпляр Ec2.Таким образом, мой вариант использования состоит в том, что я инициировал 100 запросов на автоматическое масштабирование в AWS одновременно, из-за этого большинство запросов не было выполнено.Поэтому я должен проверить, выполняются ли в данный момент какие-либо действия в определенной группе автомасштабирования AWS.

if(!client.isAutoscaleInprogress())
    client.setDesiredCapacity(request)

1 Ответ

0 голосов
/ 22 февраля 2019
boolean isScalingActivityInProgress(){
AmazonAutoScaling client = AmazonAutoScalingClientBuilder.standard().build();
DescribeScalingActivitiesRequest request = new DescribeScalingActivitiesRequest().withAutoScalingGroupName("my-auto-scaling-group");
        DescribeScalingActivitiesResult response = client .describeScalingActivities(request);
 Activity activity=response.getActivities().get(0);
 return !ScalingActivityStatusCode.Successful.name().equalsIgnoreCase(activity.getStatusCode()
}

Примечание: активность. getStatusCode () возвращает текущее состояние активности группы автомасштабирования.

...