Boto3 更新 Cloudwatch 警报
Boto3 Update Cloudwatch alarm
我已将警报对象存储为变量:
alarm = cloudwatch.Alarm(AlarmName)
然后我修改了警报变量的一个属性,我想将此更新发送到 AWS。
我尝试了 alarm.load()
或 alarm.reload()
方法,但这些方法从 AWS 提取数据并覆盖我的本地变量。
此外,我尝试使用 cloudwatch 资源和方法 put_metric_alarm
,但它不接受作为参数的警报对象:
AttributeError: 'cloudwatch.ServiceResource' 对象没有属性 'put_metric_alarm'
有什么方法可以将本地警报定义推送到 AWS 吗?
put_metric_alarm
用于创建和更新 CloudWatch 警报。这里有一个如何使用 boto3 将本地警报定义推送到 AWS 的示例
import boto3
# Create CloudWatch client
cloudwatch = boto3.client('cloudwatch')
# CloudWatch Resource
cwres = boto3.resource('cloudwatch')
# Get Alarm Configuration
alarm = cwres.Alarm('My Alarm')
# Update alarm copying all attributes from local alarm variable
cloudwatch.put_metric_alarm(
AlarmName=alarm.name,
ComparisonOperator=alarm.comparison_operator,
EvaluationPeriods=alarm.evaluation_periods,
MetricName=alarm.metric_name,
Namespace=alarm.namespace,
Period=120, # changed attribute
Statistic=alarm.statistic,
Threshold=alarm.threshold,
ActionsEnabled=alarm.actions_enabled,
AlarmDescription=alarm.alarm_description,
Dimensions=alarm.dimensions,
Unit=alarm.unit
)
正如我们在“历史记录”选项卡中看到的那样,“我的闹钟”已更新。
复制所有属性的过程很长,因为 API 似乎不接受本地警报对象。
我已将警报对象存储为变量:
alarm = cloudwatch.Alarm(AlarmName)
然后我修改了警报变量的一个属性,我想将此更新发送到 AWS。
我尝试了 alarm.load()
或 alarm.reload()
方法,但这些方法从 AWS 提取数据并覆盖我的本地变量。
此外,我尝试使用 cloudwatch 资源和方法 put_metric_alarm
,但它不接受作为参数的警报对象:
AttributeError: 'cloudwatch.ServiceResource' 对象没有属性 'put_metric_alarm'
有什么方法可以将本地警报定义推送到 AWS 吗?
put_metric_alarm
用于创建和更新 CloudWatch 警报。这里有一个如何使用 boto3 将本地警报定义推送到 AWS 的示例
import boto3
# Create CloudWatch client
cloudwatch = boto3.client('cloudwatch')
# CloudWatch Resource
cwres = boto3.resource('cloudwatch')
# Get Alarm Configuration
alarm = cwres.Alarm('My Alarm')
# Update alarm copying all attributes from local alarm variable
cloudwatch.put_metric_alarm(
AlarmName=alarm.name,
ComparisonOperator=alarm.comparison_operator,
EvaluationPeriods=alarm.evaluation_periods,
MetricName=alarm.metric_name,
Namespace=alarm.namespace,
Period=120, # changed attribute
Statistic=alarm.statistic,
Threshold=alarm.threshold,
ActionsEnabled=alarm.actions_enabled,
AlarmDescription=alarm.alarm_description,
Dimensions=alarm.dimensions,
Unit=alarm.unit
)
正如我们在“历史记录”选项卡中看到的那样,“我的闹钟”已更新。
复制所有属性的过程很长,因为 API 似乎不接受本地警报对象。