我必须在INSUFFICIENT_STATE中删除几乎3K +的Cloudwatch警报。
因此,我要处理- 1.通过终端获取所有状态为“ INSUFFICIENT”的警报的列表
aws cloudwatch describe-alarms --query 'MetricAlarms[*].AlarmName' --state-value INSUFFICIENT_DATA --output text > list.csv
for i in `cat list.csv` ;do aws cloudwatch delete-alarms --alarm-names $i ;done
注意-运行命令时没有出现任何错误。
答案 0 :(得分:1)
如Dejan所建议的,rate limit for deleteAlarms是每秒3个事务。该脚本在一个小时内删除了四千个警报:
oldIFS=$IFS; IFS=$'\t'
for alarm in $(aws cloudwatch describe-alarms --query 'MetricAlarms[*].AlarmName' --state-value INSUFFICIENT_DATA --output text); do
echo $alarm;
aws cloudwatch delete-alarms --alarm-names $alarm 1>/dev/null;
sleep 0.5;
done
IFS=$oldIFS