当试图部署导出的Azure资源模板时,我会收到以下错误:
"The template is invalid. Error: 'Required property '$schema' not found in
JSON.
"Domain name is already taken"
错误内容:
错误内容如下:
{“代码”:“InvalidTemplateDeployment”,“InvalidTemplateDeployment”消息:“模板无效。错误:在JSON中找不到‘必需的属性'$schema’。路径‘,第1行,位置2.’},{“代码”:“BadArgument”,“消息”:“域名已被接受”},“消息”:“模板部署'Microsoft.Template-20220817090827‘根据验证过程无效。跟踪id为'c27e8ad4-6d96-46e9-92ed-ac8d5f462bf6‘。详细信息请参见内部错误。“}
观测:
我观察到以下情况:
模板:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vulnerabilityAssessments_Default_storageContainerPath": {
"type": "SecureString"
},
...
}
发布于 2022-08-19 16:36:00
有关$schema
属性的错误不是指模板本身的$schema
,而是从模板中的一个Microsoft.Resources/templateSpecs/versions
资源的预飞(验证)返回。
我可以用我导出的以下文件来复制这一点(请注意,Export
正在删除mainTemplate
的内容,我认为这是问题的根本原因,因为它不包含预期的$schema
属性)。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"templateSpecs_asdgasdg_name": {
"defaultValue": "asdgasdg",
"type": "String"
}
},
"variables": {},
"resources": [
{
"type": "Microsoft.Resources/templateSpecs",
"apiVersion": "2022-02-01",
"name": "[parameters('templateSpecs_asdgasdg_name')]",
"location": "centralus",
"properties": {}
},
{
"type": "Microsoft.Resources/templateSpecs/versions",
"apiVersion": "2022-02-01",
"name": "[concat(parameters('templateSpecs_asdgasdg_name'), '/v1')]",
"location": "centralus",
"dependsOn": [
"[resourceId('Microsoft.Resources/templateSpecs', parameters('templateSpecs_asdgasdg_name'))]"
],
"properties": {
"mainTemplate": {}
}
}
]
}
我在微软的团队拥有导出模板API -我将在内部跟进这个问题。
https://stackoverflow.com/questions/73415765
复制相似问题