能否升级ARM模板schema版本?反编译ARM为Bicep时旧schema不存在咨询
ARM模板反编译Bicep的schema替换问题解答
直接替换schema的可行性
你可以直接将旧的2018-05-01版本schema替换为2019-04-01版本,绝大多数场景下不会出现兼容问题。2018-05-01版本的顶层部署schema已被官方废弃下架,才会出现你遇到的不存在提示,而2019-04-01是目前通用的稳定ARM顶层schema,兼容几乎所有旧版ARM模板的语法结构。
注意事项
- 若你的原ARM模板使用了2018-05-01版本专属的已废弃语法(比如旧版依赖声明、特殊参数限制规则),替换后反编译可能触发警告,按照Bicep的提示小幅调整即可,不会影响核心资源的转换结果。
- 替换schema后如果仍有报错,可以先执行ARM语法校验命令确认模板本身结构合法:
az bicep build --stdout <你的ARM模板文件路径>
校验通过后再执行反编译命令即可:az bicep decompile <你的ARM模板文件路径> - 你也可以选择不手动修改schema,反编译时添加
--force参数跳过schema校验,一样可以完成转换:az bicep decompile --force <你的ARM模板文件路径>
转换后生成的Bicep文件会自动适配最新规范,无需额外处理顶层schema相关问题。
内容的提问来源于stack exchange,提问作者Amateur
相关产品推荐
相关产品推荐

