首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Boto3更新云图报警

Boto3更新云图报警
EN

Stack Overflow用户
提问于 2022-04-15 15:21:25
回答 1查看 298关注 0票数 0

我已经将告警对象存储为变量:alarm = cloudwatch.Alarm(AlarmName)

然后,我修改了警报变量的一个属性,并希望将此更新发送到AWS。

我尝试了方法alarm.load()alarm.reload(),但是这些方法从AWS中提取数据并覆盖我的局部变量。

此外,我尝试使用cloudwatch资源和方法put_metric_alarm,但它不接受参数警报对象:

AttributeError: cloudwatch.ServiceResource对象没有属性“put_metric_alarm”

有什么办法推动本地警报定义做AWS吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-16 03:05:10

put_metric_alarm用于创建和更新 CloudWatch警报。下面是一个使用boto3将本地警报定义推送到AWS的示例。

代码语言:javascript
复制
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似乎不接受本地警报对象。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71885838

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档