New-AzureRmResourceGroupDeployment:找不到与参数名称“_artifactsLocationSasToken”匹配的参数
New-AzureRmResourceGroupDeployment : A parameter cannot be found that matches parameter name '_artifactsLocationSasToken'
我正在更改一个运行了几个月的 ARM 模板(包括链接模板)。构建成功后,部署时出现错误
New-AzureRmResourceGroupDeployment : A parameter cannot be found that matches parameter name '_artifactsLocationSasToken'
我知道上传工件有时是一件有点敏感的事情,所以我查看了相应的帖子以获取提示 - among them this one that seemed helpful。但是没有任何效果,所以我休息了。
回来后我彻底检查了我的模板
- 在中等复杂 concat/parameter/variable 表达式中发现一个右括号过多(用 1 个字符宽的波浪线突出显示)
- 发现我在另一个地方错过了关闭大括号和方括号(在模板上应用“Format Document”之后)
因此我的看法是:不要依赖构建过程;不要被错误信息误导;出现这种错误时重新检查模板,甚至将其缩小以隔离无效区域
在我的例子中,错误是由无效的模板路径(参数 -TemplateFile
)引起的。我在模板文件中定义了另一个参数,但由于部署命令无法找到模板本身,它也无法在模板中找到我的用户定义参数的值。
如果提供的参数为空,此错误似乎是 Powershell 调用的一般消息。 New-AzureRmResourceGroupDeployment
命令对参数执行一些验证会很好,比如检查模板文件是否存在以及模板文件的格式是否有效......这些通用的 PS 错误消息不是很有帮助。
我正在更改一个运行了几个月的 ARM 模板(包括链接模板)。构建成功后,部署时出现错误
New-AzureRmResourceGroupDeployment : A parameter cannot be found that matches parameter name '_artifactsLocationSasToken'
我知道上传工件有时是一件有点敏感的事情,所以我查看了相应的帖子以获取提示 - among them this one that seemed helpful。但是没有任何效果,所以我休息了。
回来后我彻底检查了我的模板
- 在中等复杂 concat/parameter/variable 表达式中发现一个右括号过多(用 1 个字符宽的波浪线突出显示)
- 发现我在另一个地方错过了关闭大括号和方括号(在模板上应用“Format Document”之后)
因此我的看法是:不要依赖构建过程;不要被错误信息误导;出现这种错误时重新检查模板,甚至将其缩小以隔离无效区域
在我的例子中,错误是由无效的模板路径(参数 -TemplateFile
)引起的。我在模板文件中定义了另一个参数,但由于部署命令无法找到模板本身,它也无法在模板中找到我的用户定义参数的值。
如果提供的参数为空,此错误似乎是 Powershell 调用的一般消息。 New-AzureRmResourceGroupDeployment
命令对参数执行一些验证会很好,比如检查模板文件是否存在以及模板文件的格式是否有效......这些通用的 PS 错误消息不是很有帮助。