1

我正在创建 Azure 资源模板并在指定标签时收到此验证错误:

新 AzureResourceGroupDeployment:错误 1:代码 = 无效模板;消息=部署模板验证失败:“第 86 行和第 10 列的模板资源 'hosting-plan' 无效:不支持模板语言表达式 '[parameters('intranetConnectivity')]'..'。

这是模板的相关部分:

"parameters": {
    "intranetConnectivity": {
        "type": "bool",
        "defaultValue": false
    },
    ...
}

"name": "[parameters('siteName')]",
"type": "Microsoft.Web/sites",
"location": "[parameters('siteLocation')]",
"tags": {
    "[concat('hidden-related:', resourceGroup().id, '/providers/Microsoft.Web/serverfarms/', parameters('hostingPlanName'))]": "Resource",
    "ServiceModel": "[parameters('serviceModel')]",
    "IntranetConnectivity": "[parameters('intranetConnectivity')]",
    "Environment": "[parameters('environment')]"
},

我认为参数名称可能太长,但无论参数名称如何,我都会收到相同的错误。

4

2 回答 2

1

事实证明,它不喜欢我在字符串值中使用布尔参数。我将参数定义更改为字符串,一切正常。

"intranetConnectivity": {
    "type": "string",
       "allowedValues": [
           "true",
           "false"
       ],
    "defaultValue": "false"
},
于 2014-11-19T21:38:01.017 回答
0

只是为了澄清标签只支持字符串值,而不是其他任何东西。检查限制

  • 并非所有资源类型都支持标签。若要确定是否可以将标记应用于资源类型,请参阅 Azure 资源的标记支持。

  • 每个资源或资源组最多可以有 50 个标签名称/值对。如果您需要应用比最大允许数量更多的标签,请使用 JSON 字符串作为标签值。JSON 字符串可以包含许多应用于单个标签名称的值。一个资源组可以包含许多资源,每个资源都有 50 个标签名称/值对。

  • 标签名称限制为 512 个字符,标签值限制为 256 个字符。对于存储帐户,标记名称限制为 128 个字符,标记值限制为 256 个字符。

  • 通用 VM 不支持标记。

  • 应用于资源组的标签不会被该资源组中的资源继承。

  • 标签不能应用于云服务等经典资源。

  • 标签名称不能包含以下字符:<、>、%、&、\、?、/

于 2019-12-20T17:14:45.790 回答