删除所有带状态的警报
Delete All alarms with state
是否可以使用 AWS SDK java 删除所有具有状态(INSUFFICIENT_DATA 或任何其他)的警报?
我在这里没有看到任何方法。
AmazonCloudWatch cloudWatch = getAmazonCloudwatchClient();
DeleteAlarmsRequest request = new DeleteAlarmsRequest();
public DeleteAlarmsResult deleteAlarms(DeleteAlarmsRequest request)
我想到了这个方法,它对我很有帮助。
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);
}
是否可以使用 AWS SDK java 删除所有具有状态(INSUFFICIENT_DATA 或任何其他)的警报?
我在这里没有看到任何方法。
AmazonCloudWatch cloudWatch = getAmazonCloudwatchClient();
DeleteAlarmsRequest request = new DeleteAlarmsRequest();
public DeleteAlarmsResult deleteAlarms(DeleteAlarmsRequest request)
我想到了这个方法,它对我很有帮助。
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);
}