Azure 门户 ARM 模板导出中不包含诊断设置

Diagnostic setting not included in Azure Portal ARM template export

我在 Azure 门户中为 KeyVault 资源创建了诊断设置。 DS 属性是 Metrics = AllMetrics,Destination 是预定义的 Log Analytics 工作区。 当我从 Portal 执行导出(自动化 - 导出模板)时,生成的 ARM json 中不包含诊断设置中的任何内容。当资源是应用服务时,我注意到了相同的行为。

这是设计使然吗?错误?对于我定义的诊断设置,还有其他方法可以获取 ARM json 吗?

我在我的环境中尝试了同样的方法,但似乎我们无法导出 诊断设置 用于任何服务,例如 key vault, app service , storage account etc我们尝试导出自动化模板。但是 Microsoft Documentation.

中提供了一些用于少数资源的样本诊断设置模板

所以,根据您的设置,它会像下面这样,我已经通过部署进行了测试:

{
        "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
        "contentVersion": "1.0.0.0",
        "parameters": {
            "settingName": {
                "type": "String",
                "defaultValue": "testdsansuman"
            },
            "vaultName": {
                "type": "String",
                "defaultValue": "ansumantestkv1234"
            },
            "workspaceName": {
                "type": "String",
                "defaultValue": "ansumantestlog"    
            } 
        },
        "resources": [
            {
              "type": "Microsoft.KeyVault/vaults/providers/diagnosticSettings",
              "apiVersion": "2017-05-01-preview",
              "name": "[concat(parameters('vaultName'), '/Microsoft.Insights/', parameters('settingName'))]",
              "dependsOn": [],
              "properties": {
                "workspaceId": "[resourceId('Microsoft.OperationalInsights/workspaces', parameters('WorkspaceName'))]",
                
                "metrics": [
                  {
                    "category": "AllMetrics",
                    "enabled": true
                  }
                ]
              }
            }
        ]
    }

输出: