4

我正在更改一个工作了几个月的 ARM 模板(包括链接模板)。构建成功后,部署时出现错误

New-AzureRmResourceGroupDeployment : A parameter cannot be found that matches parameter name '_artifactsLocationSasToken'
4

2 回答 2

8

我知道上传工件有时是一项有些敏感的业务,所以我查看了相应的帖子以获取提示——其中一个似乎很有帮助。但是没有任何效果,所以我休息了一下。

回来后我彻底检查了我的模板和

  1. 在中等复杂的 concat/parameter/variable 表达式中发现一个右括号过多(以 1 个字符宽的波浪线突出显示)
  2. 发现我错过了在另一个地方关闭大括号和方括号(在模板上应用“格式文档”之后)

因此我的看法是:不要依赖构建过程;不要被错误信息误导;出现此类错误时重新检查模板,甚至将其缩小以隔离无效区域

于 2016-10-17T18:54:54.407 回答
2

就我而言,错误是由无效的模板路径(参数-TemplateFile)引起的。我在模板文件中定义了另一个参数,但由于部署命令找不到模板本身,它也无法在模板中找到我的用户定义参数的值。

如果提供的参数为空,则此错误似乎是 Powershell 调用的通用消息。该New-AzureRmResourceGroupDeployment命令最好对参数执行一些验证,例如检查模板文件是否存在以及模板文件的格式是否有效……这些通用 PS 错误消息不是很有帮助。

于 2017-08-18T14:11:22.763 回答