Deployment template parse failed: 'Required property 'type' not found in JSON. Path '', line, position.'. (Code: InvalidTemplate)

huangapple go评论87阅读模式
英文:

Deployment template parse failed: 'Required property 'type' not found in JSON. Path '', line, position.'. (Code: InvalidTemplate)

问题

我在Azure门户中部署了SQL托管实例,然后在实际部署之前,有一个保存模板以用于将来部署的选项,我选择了这个选项。

然后我删除了托管实例,现在我需要使用生成的模板重新部署它。

当我在Azure门户中选择“部署自定义模板”,从库中选择一个模板,然后Azure门户抛出验证错误:

"部署模板解析失败:在JSON中未找到必需的属性'type'。路径'',第256行,位置27。' (代码:InvalidTemplate)

模板由两个文件组成,parameters.json和template.json

查看parameters.json,它是一个很短的文件,甚至没有256行,而template.json有256行(以及更多内容):

"federatedClientId":{
"type": "string",
"defaultValue": ""
},

这有点奇怪 - 它有'type'属性。
在Google和Bing AI中搜索没有给我提供有意义的解决方案。我该如何修复它并使其工作?

英文:

I deployed SQL Managed Instance in Azure using Azure portal, and before actual deploy it has an option of saving template for automation of future deploys, which I did.

Then I deleted managed instance, and now I need to re-deploy it using generated template.

When I go to "Deploy a custom template" in Azure portal, select a template from a library, and then Azure portal throws validation error:

>Deployment template parse failed: 'Required property 'type' not found in JSON. Path '', line 256, position 27.'. (Code: InvalidTemplate)

Template consists of two files, parameters.json and template.json

Looking at parameters.json, it is short file it does not even have line 256, while template.json, has line 256 (and much more):

>255       "federatedClientId": {
>256         "type": "string",
257          "defaultValue": ""
258       },

Which is kind of strange - it has 'type' property.
Googling and using Bing AI did not give me meaningful solution. How can I fix it and make it work ?

答案1

得分: 1

错误消息显示模板无效。确保模板正确格式化(Json),没有多余的空格和' '。也可以使用模板验证器来验证 Arm 模板。

如果模板看起来仍然正确,请尝试使用所有必需属性重新部署它。

与您一样,我创建了一个 SQL 托管实例并删除了部署。当我使用以下 parameters.json 文件创建自定义模板时,它按预期工作。

部署成功:

Deployment template parse failed: 'Required property 'type' not found in JSON. Path '', line, position.'. (Code: InvalidTemplate)

您还可以参考MSDoc查看常见的 ARM 模板部署错误。

英文:

> Deployment template parse failed: 'Required property 'type' not found in JSON. Path '', line, position.'. (Code: InvalidTemplate): -

The error message shows that the template is invalid. Make sure that the template is properly formatted (Json) free of excessive spaces &
' '. The Arm template can also be validated using template validator.

If the template still looks good, try redeploying it with all of the required properties.

As you've done, I created a SQL managed instance and deleted the deployment. And it worked as intended when I used a custom template using the following parameters.json file.

"parameters": {
        "location": {
            "defaultValue": "[resourceGroup().location]",
            "type": "String",
            "metadata": {
                "description": "The location of the Managed Instance. Default is the location of the selected resource group."
            }
        },
        "managedInstanceName": {
            "type": "String",
            "metadata": {
                "description": "The name of the Managed Instance."
            }
        },
        "deployInExistingSubnet": {
            "defaultValue": false,
            "type": "Bool",
            "metadata": {
                "description": "Determines whether the Managed Instance will be deployed in an existing subnet. Subnet parameters need to be valid if this is set."
            }
        },
        "virtualNetworkResourceGroupName": {
            "defaultValue": "[resourceGroup().name]",
            "type": "String",
            "metadata": {
                "description": "The resource group where the networking resources will be created or updated. Default is the same resource group as Managed Instance."
            }
        },
        "virtualNetworkName": {
            "defaultValue": "[concat('vnet-', parameters('managedInstanceName'))]",
            "type": "String",
            "metadata": {
                "description": "The virtual network name. Leave empty for the default value."
            }
        },
        "subnetName": {
            "defaultValue": "ManagedInstance",
            "type": "String",
            "metadata": {
                "description": "The subnet name. Leave empty for the default value."
            }
        },
        "skuName": {
            "defaultValue": "GP_Gen5",
            "allowedValues": [
                "GP_Gen4",
                "GP_Gen5",
                "GP_G8IM",
                "GP_G8IH",
                "BC_Gen4",
                "BC_Gen5",
                "BC_G8IM",
                "BC_G8IH"
            ],
            "type": "String",
            "metadata": {
                "description": "Managed instance SKU. If SKU is not set, skuEdition and hardwareFamily values have to be populated."
            }
        },
        "skuEdition": {
            "defaultValue": "GeneralPurpose",
            "allowedValues": [
                "GeneralPurpose",
                "BusinessCritical"
            ],
            "type": "String",
            "metadata": {
                "description": "SKU Edition for the Managed Instance. In case skuName is set this parameter is ignored."
            }
        },
        "hardwareFamily": {
            "defaultValue": "Gen5",
            "allowedValues": [
                "Gen4",
                "Gen5",
                "Gen8IM",
                "Gen8IH"
            ],
            "type": "String",
            "metadata": {
                "description": "Compute generation for the instance. In case skuName is set this parameter is ignored."
            }
        },
        "storageSizeInGB": {
            "defaultValue": 256,
            "minValue": 32,
            "type": "Int",
            "metadata": {
                "description": "Determines how much Storage size in GB to associate with instance. Increments of 32 GB allowed only."
            }
        },
        "vCores": {
            "defaultValue": 8,
            "allowedValues": [
                4,
                8,
                16,
                24,
                32,
                40,
                64,
                80,
                96,
                128
            ],
            "type": "Int",
            "metadata": {
                "description": "The number of vCores."
            }
        },
        "licenseType": {
            "defaultValue": "LicenseIncluded",
            "allowedValues": [
                "LicenseIncluded",
                "BasePrice"
            ],
            "type": "String",
            "metadata": {
                "description": "Determines license pricing model. Select 'LicenseIncluded' for a regular price inclusive of a new SQL license. Select 'Base Price' for a discounted AHB price for bringing your own SQL licenses."
            }
        },
        "hybridSecondaryUsage": {
            "defaultValue": "Active",
            "allowedValues": [
                "Active",
                "Passive"
            ],
            "type": "String",
            "metadata": {
                "description": "Determines whether Hybrid failover rights benefit is activated. Select 'Passive' to enable this benefit."
            }
        },
        "dnsZonePartner": {
            "defaultValue": "",
            "type": "String",
            "metadata": {
                "description": "The resource id of another Managed Instance whose DNS zone this Managed Instance will share after creation."
            }
        },
        "collation": {
            "defaultValue": "SQL_Latin1_General_CP1_CI_AS",
            "type": "String",
            "metadata": {
                "description": "Collation of the Managed Instance."
            }
        },
        "timezoneId": {
            "defaultValue": "UTC",
            "type": "String",
            "metadata": {
                "description": "Id of the timezone. Allowed values are timezones supported by Windows."
            }
        },
        "proxyOverride": {
            "defaultValue": "Proxy",
            "allowedValues": [
                "Proxy",
                "Redirect"
            ],
            "type": "String",
            "metadata": {
                "description": ""
            }
        },
        "publicDataEndpointEnabled": {
            "defaultValue": false,
            "type": "Bool",
            "metadata": {
                "description": "Determines whether public data endpoint will be enabled, required for clients outside of the connected virtual networks. Public endpoint will always default to Proxy connection mode."
            }
        },
        "nsgForPublicEndpoint": {
            "defaultValue": "",
            "allowedValues": [
                "",
                "allowFromInternetTo3342NSG",
                "allowFromAzureCloudTo3342NSG",
                "disallowTrafficTo3342NSG"
            ],
            "type": "String",
            "metadata": {
                "description": "Determines which NSG inbound traffic rule to add for the public endpoint. In case publicDataEndpointEnabled is false this parameter is ignored."
            }
        },
        "minimalTlsVersion": {
            "defaultValue": "1.2",
            "allowedValues": [
                "1.0",
                "1.1",
                "1.2"
            ],
            "type": "String",
            "metadata": {
                "description": "The minimum TLS version enforced by the Managed Instance for inbound connections."
            }
        },
        "administratorLogin": {
            "defaultValue": "",
            "type": "String",
            "metadata": {
                "description": "The login of the Managed Instance admin."
            }
        },
        "administratorLoginPassword": {
            "defaultValue": "",
            "type": "SecureString",
            "metadata": {
                "description": "The password of the Managed Instance admin."
            }
        },
        "administrators": {
            "defaultValue": {},
            "type": "Object"
        },
        "managedInstanceTags": {
            "defaultValue": {},
            "type": "Object",
            "metadata": {
                "description": "Resource tags to associate with the instance."
            }
        },
        "requestedBackupStorageRedundancy": {
            "defaultValue": "Geo",
            "allowedValues": [
                "Geo",
                "Zone",
                "Local",
                "GeoZone"
            ],
            "type": "String",
            "metadata": {
                "description": "Option for configuring backup storage redundancy. Selecting 'Geo' will enable 'RA-GRS'."
            }
        },
        "maintenanceConfigurationId": {
            "defaultValue": "",
            "type": "String",
            "metadata": {
                "description": "Maintenance configuration id assigned to the database. This configuration defines the period when the maintenance updates will occur."
            }
        },
        "zoneRedundant": {
            "defaultValue": false,
            "type": "Bool",
            "metadata": {
                "description": "Determines whether zone redundancy will be enabled."
            }
        },
        "enableADS": {
            "defaultValue": false,
            "type": "Bool"
        },
        "enableVA": {
            "defaultValue": false,
            "type": "Bool"
        },
        "identity": {
            "defaultValue": {},
            "type": "Object"
        },
        "primaryUserAssignedIdentityId": {
            "defaultValue": "",
            "type": "String"
        },
        "federatedClientId": {
            "defaultValue": "",
            "type": "String"
        },
        "servicePrincipal": {
            "defaultValue": {},
            "type": "Object"
        }
    }

Deployment succeeded:

Deployment template parse failed: 'Required property 'type' not found in JSON. Path '', line, position.'. (Code: InvalidTemplate)

You can also refer MSDoc for the common ARM template deployment errors.

huangapple
  • 本文由 发表于 2023年7月12日 22:40:39
  • 转载请务必保留本文链接:https://go.coder-hub.com/76671772.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定