如何使现有ARM模板上的资源API版本保持最新? [英] How do I keep resource API versions up to date on existing ARM template?

查看:0
本文介绍了如何使现有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

以下是我的问题

  1. 在模板中维护资源API版本的最佳做法是什么?
  2. 从哪里了解每个API版本中引入的更改?
  3. 如果我更改已使用旧API版本设置的资源上的API版本,Azure将执行什么操作?

推荐答案

  1. "在模板中维护资源API版本的最佳实践是什么?"

您不应该需要更新资源的API-Version字段,除非您正在使用以前的API-Version未涵盖的新功能。

主要是,如果它起作用了,就不要修复它。

ARM模板中嵌入的API版本字段的目的是确保该模板在任何时间点都能继续按预期运行。

我见过一些带有API版本变量的模板。我不是那种方法的粉丝。这使得更改API版本变得过于容易,而更新该版本可能会使架构无效并导致任意数量的错误。

  1. "从哪里了解每个API版本中引入的更改?"

它是一个非常原始的形式,但您可以在此GitHub资源库中查看资源提供者的Swagger规格。

GitHub: azure/azure-rest-api-specsGitHub: azure/azure-resource-manager-schemas

Azure SDK、ARM模板,甚至某些门户用户界面都将此repo用作自动生成的swagger源。

有关ARM版本的最新功能,您可以使用此Docs子站点,它也是根据规范生成的。

ARM Template Resource Definitions

  1. 如果我更改已使用旧API版本设置的资源上的API版本,Azure将执行什么操作?

如果您更改API版本并执行更改,并且您尚未将资源配置更新到新版本,Azure资源管理器API可能会响应对象架构错误。

您可以运行验证调用来获取这些错误,而无需进行任何更改。

同样,除非您在新的API版本中使用新功能或配置,否则确实没有理由更新模板资源的API版本。

这篇关于如何使现有ARM模板上的资源API版本保持最新?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆