You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

咨询:如何获取ARM模板中Microsoft.Insights/actionGroups的ARM规范?

获取Microsoft.Insights/actionGroups的ARM模板规范及导出方案

我完全理解你的困扰——动作组作为全局资源,确实经常在常规的Azure门户导出模板流程中“隐身”,不过有几个实用的方法可以帮你获取它的ARM规范,甚至批量导出已有动作组的模板代码:

方法1:使用Azure CLI或PowerShell直接导出已有动作组

这是最直接获取现有动作组ARM定义的方式,能精准拿到你配置好的所有属性:

Azure CLI命令

# 导出单个动作组的属性(可直接用于ARM模板)
az monitor action-group show --resource-group <你的资源组名称> --name <动作组名称> --query "properties" > action-group-def.json

# 批量导出资源组内所有动作组
az resource list --resource-group <你的资源组名称> --resource-type "Microsoft.Insights/actionGroups" --query "[].{name:name, type:type, apiVersion:'2023-01-01', location:'Global', properties:properties}" > all-action-groups.json

PowerShell命令

# 导出单个动作组
Get-AzActionGroup -ResourceGroupName <你的资源组名称> -Name <动作组名称> | Select-Object name, @{Name='type'; Expression={'Microsoft.Insights/actionGroups'}}, @{Name='apiVersion'; Expression={'2023-01-01'}}, @{Name='location'; Expression={'Global'}}, properties | ConvertTo-Json -Depth 10 > action-group-def.json

导出后的JSON内容可以直接整合到你的ARM模板的resources数组中,只需要根据需求调整参数化部分即可。

方法2:参考官方ARM模板资源定义规范

如果你需要从零构建动作组的ARM模板,可以直接参考官方定义的完整属性结构,这里给你一个基础示例模板:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "actionGroupName": {
      "type": "string",
      "metadata": {
        "description": "名称 of the action group"
      }
    },
    "actionGroupShortName": {
      "type": "string",
      "metadata": {
        "description": "短名称(用于短信/通知)"
      }
    },
    "emailAddress": {
      "type": "string",
      "metadata": {
        "description": "接收通知的邮箱地址"
      }
    }
  },
  "resources": [
    {
      "type": "Microsoft.Insights/actionGroups",
      "apiVersion": "2023-01-01",
      "name": "[parameters('actionGroupName')]",
      "location": "Global",
      "properties": {
        "groupShortName": "[parameters('actionGroupShortName')]",
        "enabled": true,
        "emailReceivers": [
          {
            "name": "primaryEmailReceiver",
            "emailAddress": "[parameters('emailAddress')]",
            "useCommonAlertSchema": true
          }
        ],
        // 可添加其他接收器类型:短信、Webhook、逻辑应用、自动化运行手册等
        "smsReceivers": []
      }
    }
  ]
}

官方定义里包含了所有支持的接收器类型、可选参数(比如是否启用通用警报架构),你可以根据业务需求扩展这些配置。

方法3:用Azure Resource Graph批量查询动作组属性

如果你需要获取订阅内所有动作组的配置,可以用Resource Graph来快速检索:

resources
| where type == 'microsoft.insights/actiongroups'
| project name, resourceGroup, location, properties

查询结果会返回所有动作组的完整属性,你可以把这些内容转换成ARM模板的资源格式,批量添加到你的部署模板中。

为什么门户导出模板找不到动作组?

动作组的location是Global,属于全局资源,有时候门户的“导出模板”功能在筛选资源时会默认排除部分全局资源,或者需要你手动指定资源类型才能包含进来——这也是为什么用CLI/PowerShell或Resource Graph的方式更可靠。

内容的提问来源于stack exchange,提问作者Casper Dijkstra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.09 09:07:38