You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure DevOps流水线ARM TTK报Location硬编码错误原因排查

问题结论

你的猜测完全正确,该报错确实是因为主模板未使用ARM TTK默认识别的主模板文件名,被判定为嵌套模板导致的。

规则说明

ARM TTK内置的Location Should Not Be Hardcoded用例对主模板和嵌套模板有两套校验逻辑:

  • 主模板:允许location参数设置[resourceGroup().location]作为默认值
  • 嵌套模板:要求location参数不能设置默认值,必须由上层主模板传入值

ARM TTK默认仅将名为azuredeploy.json、mainTemplate.json的文件识别为主模板,其余名称的ARM模板都会默认归类为嵌套/链接模板,因此你的winvm-arm.json触发了嵌套模板的校验规则,才会抛出对应的错误。

解决方案

你可以任选一种方式解决该问题:

  • 修改主模板文件名为azuredeploy.json或mainTemplate.json,适配TTK的默认识别规则
  • 若要保留现有文件名,在Azure DevOps的ARM TTK任务配置中,找到「主模板文件名」配置项,手动填入winvm-arm.json,明确告知TTK该文件为主模板
  • 如果是通过命令行运行ARM TTK,执行时添加参数-MainTemplateFiles winvm-arm.json即可

内容的提问来源于stack exchange,提问作者Pallab

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 02:24:02