我们何时应该使用参数何时在ARM模板中使用变量

Rıf*_*hin 8 azure continuous-deployment azure-resource-manager azure-resource-group azure-template

我很困惑在哪里使用变量以及在ARM模板中使用参数的位置.我们如何打这个电话?

引用的脚本使用两者.我更好奇使用变量的理由.

在此输入图像描述

参考

示例服务Fabric Azure部署脚本

https://raw.githubusercontent.com/azure/azure-quickstart-templates/master/service-fabric-oms/azuredeploy.json

Shu*_*bao 9

在Azure模板中的json文件:

参数:执行部署以自定义资源部署时提供的值.

变量:在模板中用作JSON片段的值,用于简化模板语言表达式.

有关更多信息,请参阅此官方文档:了解Azure Resource Manager模板的结构和语法.

我更好奇使用变量的理由.

根据我的经验,如果您只使用一次变量,则不需要使用变量.但是如果你想多次使用变量,最好使用变量.使用变量可以简化模板以避免重复内容.

例如,如果您不多次使用supportLogStorageAccountName,则可以执行以下操作:

"name": "[toLower(concat('sf', uniqueString(resourceGroup().id),'2'))]"
Run Code Online (Sandbox Code Playgroud)

但是,如果您多次使用提供变量supportLogStorageAccountName,则可以使用变量来避免重复.


Esp*_*pen 6

ARM 模板通常用于创建一组接近相同的环境。参数是它们的不同之处。这通常用于环境类型(生产、开发、测试)和性能/成本相关参数。变量用于根据参数或从参数计算出的服务创建唯一名称。

这方面的一个示例是存储帐户的名称。这通常是通过将一个通用名称(如 _storage)和一个环境名称参数(如“test”)连接起来并将其存储在一个变量中来完成的。当您创建另一个环境时,您必须做的就是更改环境类型参数。