Ale*_*x S 6 azure azure-resource-manager
我有一个现有的Azure模板,它提供了以下资源
Microsoft.ClassicStorage/StorageAccounts (api version 2014-06-01)
microsoft.insights/components (api version 2014-08-01)
Run Code Online (Sandbox Code Playgroud)
还有一些......
使用文章资源提供程序和类型中的代码,我发现模板上的资源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
Run Code Online (Sandbox Code Playgroud)
以下是我的问题
小智 7
除非您使用的是以前的api版本未涵盖的新功能,否则您不需要更新资源的api-version字段.
主要是,如果它有效,请不要修复它.
ARM模板中嵌入式api-version字段的目的是确保模板在任何时间点继续按需运行.
我见过一些api版本的变量模板.我不喜欢那种做法.这使得更改api版本变得非常容易,因为更新该版本可能会使架构无效并导致任何数量的错误.
它是一个非常原始的形式,但你可以在这个GitHub仓库中看到资源提供者的Swagger规范.
GitHub:azure/azure-rest-api-specs 和 GitHub:azure/azure-resource-manager-schemas
Azure SDK,ARM模板甚至一些门户UI都将此repo作为自动生成的Swagger源.
对于最新的ARM版本功能,您可以使用此docs子站点,该子站点也是从规范生成的.
如果更改api-version并执行更改,则如果尚未将资源配置更新为新版本,则Azure资源管理器API可能会响应对象架构错误.
您可以运行Validate调用来获取这些错误,而无需进行任何更改.
同样,除非您在新的api版本中使用新功能或配置,否则没有理由更新模板资源的api版本.
根据其他答复,我为我的团队针对Resource Manager API版本起草了以下最佳实践文档。
Azure资源管理器API版本准则
对于添加到模板的新资源,请使用最新的API版本。使用资源提供者和类型一文作为如何获取资源类型的最新API版本的指南。
不要为了保持最新的API版本而更改已调配资源的API版本。一般原则-如果可行,请不要修复。
仅在Microsoft Azure提出建议或更新的API版本将允许使用新功能的情况下,才更改供应资源的API版本。
不要将模板变量用于API版本。API版本必须在模板中定义为文本。
| 归档时间: |
|
| 查看次数: |
2841 次 |
| 最近记录: |