我有一些使用PowerShell部署的有效ARM模板。我正在寻找创建一个DevOps管道来运行Azure部署任务。我将其设置为“仅验证”。当我运行管道时,我收到许多类似于以下内容的错误:
"message": "Resource name [concat(parameters('my_env'), 'WEB-LB')] is invalid. The name can be up to 80 characters long....
看起来我正在获得一级功能评估。其中一些资源名称用于副本中,因此与索引内联在一起。
我相信我的服务连接拥有对所有相关资源的权限(花了几轮)。
我已经缩短了其中一些参数名称,以使该字符数小于错误中提到的80个字符的限制。
我尝试过为函数交换一些参数。
所以我用以下方式定义模板:
"parameters": {
"my_env": {
"defaultValue": "SBX",
"type": "string"
},
"loadBalancers_GIS_LB_name": {
"defaultValue": "[concat(parameters('my_env'), 'GIS-LB')]",
"type": "string"
},
...
},
"resources": [
{
"type": "Microsoft.Network/loadBalancers",
"name": "[parameters('loadBalancers_GIS_LB_name')]",
...
我希望我的模板有效,因为我可以从PowerShell成功运行它。
更新,我已经创建了一个bare-bones template。我的管道将验证此模板!
继续,我添加了一个参数文件,该文件提供了几个变量的默认值。管道将通过上面显示的错误使此操作失败。进展!