我很困惑在哪里使用变量以及在ARM模板中使用参数的位置。我们如何打这个电话?
引用的脚本使用两者。我对使用变量的理由更加好奇。
参考
示例Service Fabric Azure部署脚本
答案 0 :(得分:7)
在Azure模板json文件中:
参数:执行部署以自定义资源部署时提供的值。
变量:在模板中用作JSON片段的值,以简化模板语言表达式。
更多信息请参阅此官方文档:Understand the structure and syntax of Azure Resource Manager templates。
我对使用变量的理由更感兴趣。
根据我的经验,如果您只使用一次变量,则不需要使用变量。但是如果你想多次使用变量,最好使用变量。使用变量可以简化模板以避免重复内容。
例如,如果您不多次使用 supportLogStorageAccountName ,则可以执行以下操作:
"name": "[toLower(concat('sf', uniqueString(resourceGroup().id),'2'))]"
但是,如果您多次使用提供变量 supportLogStorageAccountName ,则可以使用变量来避免重复。
答案 1 :(得分:3)
ARM模板通常用于创建一组接近相同的环境。参数是不同的。这通常用于环境类型(prod,dev,test)和性能/成本相关参数。 变量用于根据参数创建服务的唯一名称。
此示例是存储帐户的名称。这通常通过连接像_storage这样的通用名称和像“test”这样的环境名称参数来完成,并将其存储在变量中。当您创建另一个环境时,您必须做的就是更改环境类型参数。