如何在Azure ARM模板中设置环境变量

时间:2016-12-07 11:31:39

标签: azure arm-template

我想在ARM模板中的部署中设置环境,以确保跨机器的环境相同。有没有办法为使用ARM模板创建的虚拟机设置环境变量?

2 个答案:

答案 0 :(得分:7)

您可以在部署时使用Custom Script Extension来调用SETX。将嵌套资源添加到VM资源的resources数组中。此示例在目标计算机上调用SETX MyEnvironmentPrefix (environmentPrefix-parameter-value) /m

{
    "apiVersion": "2017-12-01",
    "type": "extensions",
    "name": "SetEnvironmentVar",
    "comments": "Sets the MyEnvironmentPrefix system env var",
    "location": "[resourceGroup().location]",
    "dependsOn": [
        "[resourceId('Microsoft.Compute/virtualMachines', parameters('vmName'))]"
    ],
    "properties": {
        "publisher": "Microsoft.Compute",
        "type": "CustomScriptExtension",
        "typeHandlerVersion": "1.9",
        "autoUpgradeMinorVersion": true,
        "settings": {
            "commandToExecute": "[concat('SETX MyEnvironmentPrefix ', parameters('environmentPrefix'), ' /m')]"
        }
    }
}

答案 1 :(得分:2)

我认为没有直接的方法(查看架构),但您可以始终实现自定义,Script extensionDSC extension