azure - ARM 模板中的段长度不正确

标签 azure templates

按照 Azure 咨询建议,我想为我的应用服务启用诊断设置。我添加了以下 ARM 模板,但不断出现错误:

 Deployment template validation failed: 'The template resource 'pr-datap-cf0-config-as/Microsoft.Insights/service' for type 'providers/diagnosticSettings' at line '218' and column '41' has incorrect segment lengths. A nested resource type must have identical number of segments as its resource name. A root resource type must have segment length one greater than its resource name. Please see https://aka.ms/arm-template/#resources for usage details.'. (Code:InvalidTemplate)

我认为我的类型有 2 个段,而名称有 3 个段。但是应用服务的 DiagnosticSettings 的类型值是多少?

我的ARM模板如下:

    {
            "type": "providers/diagnosticSettings",
            "apiVersion": "2016-09-01",
            "name": "[concat(parameters('appServiceName'), '/Microsoft.Insights/service')]",
            "location": "[parameters('location')]",
            "dependsOn": [
                "[parameters('appServiceName')]"
            ],
            "properties": {
                "storageAccountId": "[parameters('diagnosticStorageAccountId')]",
                "workspaceId": "[parameters('workspaceId')]",
                "metrics": [
                    {
                        "category": "AllMetrics",
                        "enabled": true,
                        "retentionPolicy": {
                            "enabled": true,
                            "days": "[parameters('diagnosticLogsRetentionInDays')]"
                        }
                    }
                ],
                "logs": [
                    {
                        "category": "AppServiceAuditLogs",
                        "enabled": true,
                        "retentionPolicy": {
                            "enabled": true,
                            "days": "[parameters('diagnosticLogsRetentionInDays')]"
                        }
                    }
                ]

            }

最佳答案

据我所知,没有像providers/diagnosticSettings这样的类型。它应该类似于 Microsoft.Insights/diagnosticSettings 或 Microsoft.KeyVault/vaults/providers/diagnosticSettings,here是示例模板。而要设置应用服务的诊断设置,可以看看另一个问题here 。您还可以查看Enable diagnostics logging for apps in Azure App Service .

关于azure - ARM 模板中的段长度不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67394898/

相关文章:

c# - 最大限度地减少迁移到 Azure Blob 存储对代码的影响

AZURE REST API - 作为 Azure 应用服务或 Azure 函数应用的快速 API,以 Http 触发的函数作为端点?

c++ - 非内置函数的模板,内置函数的重载

c++ - 为什么两个函数有相同的地址?

C++:有没有办法创建模板化命名空间?

android - Azure Google 身份验证获取用户个人资料信息

python - 如何使用 python SDK 从 Azure Batch 计算节点检索 stdout/stderr.txt 文件?

azure - 找不到 Data Lake Store Gen2

c++ - 如何只为模板赋值一次?

c++ - Makefile .c.o 当没有 *.cpp 文件时