如何使现有ARM模板上的资源API版本保持最新? [英] How do I keep resource API versions up to date on existing ARM template?
本文介绍了如何使现有ARM模板上的资源API版本保持最新?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个现有的Azure模板,可以配置以下资源
Microsoft.ClassicStorage/StorageAccounts (api version 2014-06-01)
microsoft.insights/components (api version 2014-08-01)
和其他一些...
使用Resource providers and types文章中的代码,我发现我的模板上的资源API版本落后了几个版本:
Microsoft.ClassicStorage/StorageAccounts. Current: 2014-06-01, available:
2016-11-01
2016-04-01
2015-12-01
2015-06-01
2014-06-01
2014-04-01-beta
2014-04-01
2014-01-01
microsoft.insights/components. Current: 2014-08-01, available:
2015-05-01
2014-12-01-preview
2014-08-01
2014-04-01
以下是我的问题
- 在模板中维护资源API版本的最佳做法是什么?
- 从哪里了解每个API版本中引入的更改?
- 如果我更改已使用旧API版本设置的资源上的API版本,Azure将执行什么操作?
推荐答案
- "在模板中维护资源API版本的最佳实践是什么?"
您不应该需要更新资源的API-Version字段,除非您正在使用以前的API-Version未涵盖的新功能。
主要是,如果它起作用了,就不要修复它。
ARM模板中嵌入的API版本字段的目的是确保该模板在任何时间点都能继续按预期运行。
我见过一些带有API版本变量的模板。我不是那种方法的粉丝。这使得更改API版本变得过于容易,而更新该版本可能会使架构无效并导致任意数量的错误。
- "从哪里了解每个API版本中引入的更改?"
它是一个非常原始的形式,但您可以在此GitHub资源库中查看资源提供者的Swagger规格。
GitHub: azure/azure-rest-api-specs 和 GitHub: azure/azure-resource-manager-schemas
Azure SDK、ARM模板,甚至某些门户用户界面都将此repo用作自动生成的swagger源。
有关ARM版本的最新功能,您可以使用此Docs子站点,它也是根据规范生成的。
ARM Template Resource Definitions
- 如果我更改已使用旧API版本设置的资源上的API版本,Azure将执行什么操作?
如果您更改API版本并执行更改,并且您尚未将资源配置更新到新版本,Azure资源管理器API可能会响应对象架构错误。
您可以运行验证调用来获取这些错误,而无需进行任何更改。
同样,除非您在新的API版本中使用新功能或配置,否则确实没有理由更新模板资源的API版本。
这篇关于如何使现有ARM模板上的资源API版本保持最新?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文