删除所有状态报警

问题描述 投票:0回答:2

是否可以使用AWS SDK java删除状态(INSUFFICIENT_DATA或任何其他)的所有警报?

我在这里看不到任何方法。

    AmazonCloudWatch cloudWatch = getAmazonCloudwatchClient();
    DeleteAlarmsRequest request = new DeleteAlarmsRequest();
java amazon-web-services aws-sdk amazon-cloudwatch
2个回答
0
投票

使用DeleteAlarms()

public DeleteAlarmsResult deleteAlarms(DeleteAlarmsRequest request)

0
投票

我想出了这种方法,它对我有所帮助。

  AmazonCloudWatch cloudWatch = getAmazonCloudwatchClient();
  List<MetricAlarm> alarmsList = new ArrayList<>();
    do {

        DescribeAlarmsResult result = describeAlarms(cloudWatch, nextToken);
        nextToken = result.getNextToken();
        alarmsList.addAll(result.getMetricAlarms());
    }
    while (nextToken != null);

    for(MetricAlarm alarm : alarmsList){
        DeleteAlarmsRequest request = new DeleteAlarmsRequest();
        request.withAlarmNames(alarm.getAlarmName());
        cloudWatch.deleteAlarms(request);
    }

 private static DescribeAlarmsResult describeAlarms(AmazonCloudWatch cloudWatch, String nextToken){
    DescribeAlarmsRequest request = new DescribeAlarmsRequest();
    request.withStateValue("INSUFFICIENT_DATA");
    request.withNextToken(nextToken);
    return cloudWatch.describeAlarms(request);
}
© www.soinside.com 2019 - 2024. All rights reserved.