Azure devops 验证ARM模板返回InvalidResourceName:
我使用PowerShell部署了一些有效的ARM模板。我希望创建一个DevOps管道来运行Azure部署任务。我已将其设置为“仅验证”。当我运行管道时,我收到许多错误,类似于:Azure devops 验证ARM模板返回InvalidResourceName:,azure-devops,azure-pipelines,azure-resource-manager,arm-template,Azure Devops,Azure Pipelines,Azure Resource Manager,Arm Template,我使用PowerShell部署了一些有效的ARM模板。我希望创建一个DevOps管道来运行Azure部署任务。我已将其设置为“仅验证”。当我运行管道时,我收到许多错误,类似于: “消息”:“资源名称[concat(参数('my_env'),'WEB-LB')无效。该名称最多可包含80个字符…” 看起来我得到了一个级别的函数求值。其中一些资源名用于副本中,因此与索引内联 我相信我的服务连接拥有对所有相关资源的权限(这需要几轮) 我缩短了其中一些参数名,使其不超过错误中提到的80个字符的限制 我尝试
“消息”:“资源名称[concat(参数('my_env'),'WEB-LB')无效。该名称最多可包含80个字符…”
看起来我得到了一个级别的函数求值。其中一些资源名用于副本中,因此与索引内联
我相信我的服务连接拥有对所有相关资源的权限(这需要几轮)
我缩短了其中一些参数名,使其不超过错误中提到的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成功运行它
更新我已创建一个。我的管道验证此模板
继续,我添加了一个参数文件,该文件给出了两个变量的默认值。管道将失败,出现上面显示的错误。进度!代码似乎没有问题。您可以共享一个复制吗?我可以将其缩小到最小的失败示例。我只是发现它太小,错误消息具有功能由loadBalancers\u GIS\u LB\u name定义的ion,但它本身没有被计算。代码看起来没有问题。您可以共享一个repo吗?我可以将其简化为最小的失败示例。我只是发现错误消息具有loadBalancers\u GIS\u LB\u name定义的函数,但它本身没有被计算。