Azure devops 验证ARM模板返回InvalidResourceName:

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个字符的限制 我尝试

我使用PowerShell部署了一些有效的ARM模板。我希望创建一个DevOps管道来运行Azure部署任务。我已将其设置为“仅验证”。当我运行管道时,我收到许多错误,类似于:

“消息”:“资源名称[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定义的函数,但它本身没有被计算。