是否可以使用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);
}