通过ARM模板部署时无法注册Microsoft.AlertsManagement命名空间如何解决
问题修复方案
该MissingSubscriptionRegistration报错和你提到的Application Insights API版本无关联,核心原因是Azure订阅默认不会启用所有资源提供程序,只要你的ARM模板中用到了Microsoft.AlertsManagement命名空间下的资源(比如警报规则、智能检测规则等),就必须先完成该资源提供程序的订阅注册才能正常部署。
修复方案1:提前注册资源提供程序
注册完成后再重新部署ARM模板即可,可选择以下任意一种方式完成注册:
- 用Azure CLI执行命令:
az provider register --namespace Microsoft.AlertsManagement
- 用Azure PowerShell执行命令:
Register-AzResourceProvider -ProviderNamespace Microsoft.AlertsManagement
- 也可直接在Azure门户的订阅「资源提供程序」管理页面找到
Microsoft.AlertsManagement,手动点击注册。
注册后可通过az provider show --namespace Microsoft.AlertsManagement查看状态,待状态变为Registered后即可重新部署模板。
修复方案2:ARM模板内嵌自动注册逻辑
无需提前手动操作,直接在ARM模板中添加订阅级别的资源提供程序注册资源即可:
{ "type": "Microsoft.Resources/resourceProviders", "apiVersion": "2021-04-01", "name": "Microsoft.AlertsManagement", "properties": { "registrationState": "Registered" } }
注意:如果你的原始模板为资源组级部署模板,需要将上述资源放到订阅级嵌套模板中执行,或者单独执行订阅级部署完成注册后再部署原有资源。
内容的提问来源于stack exchange,提问作者Divyansh Saxena
相关产品推荐
相关产品推荐

