重新运行az group deployment create命令更新Azure告警规则:仅更新参数值还是删除重建?
关于重新运行ARM模板部署更新Azure告警规则的行为说明
我来帮你明确这个问题的答案:重新运行az group deployment create命令并传入新参数值时,默认情况下只会更新告警规则中对应参数的属性,不会删除并重新创建整个告警规则。
具体可以从这几个角度理解:
默认采用增量部署模式
Azure ARM模板的默认部署模式是「增量模式(Incremental)」,它会对比当前资源组内的现有资源和模板定义的资源:- 只对模板中发生变化的属性(比如你修改的阈值参数)进行更新;
- 模板中未修改的配置(比如日志查询、动作组关联、告警名称等)会完整保留,不会被覆盖或重置;
- 只有当你显式指定
--mode Complete参数时,才会删除资源组中不在模板内的资源,但你这里是复用同一模板修改参数,所以也不会触发删除重建。
实际更新的验证方式
你可以在重新部署后,通过Azure门户或者az monitor alert rule show命令查看告警规则的属性:az monitor alert rule show --name <你的告警规则名称> --resource-group myrgname会发现只有你修改的阈值参数发生了变化,其他原有配置完全保持原样。
特殊情况的例外
极少数情况下,如果告警规则的某些属性属于Azure定义的「不可更新」属性(这类属性非常少,告警规则几乎没有),ARM部署可能会报错,这时候才需要考虑删除后重建,但这种场景在告警规则的参数更新中基本不会遇到。
另外,建议在正式部署前,可以先用az group deployment validate命令验证模板和新参数的合法性,避免出现意外问题:
az group deployment validate --template-file template.json --parameters parameters.json --resource-group myrgname
内容的提问来源于stack exchange,提问作者Vowneee
相关产品推荐
相关产品推荐

