验证ARM模板返回InvalidResourceName:

时间:2019-06-17 17:23:44

标签: azure-devops azure-pipelines azure-resource-manager arm-template

我有一些使用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。我的管道将验证此模板!

继续,我添加了一个参数文件,该文件提供了几个变量的默认值。管道将通过上面显示的错误使此操作失败。进展!

0 个答案:

没有答案