json - Azure ARM 模板可变条件

标签 json azure

我有一个 ARM 模板,我正在尝试将区域条件应用于其中。就像如果 Region 变量等于 EUW 则使用变量 westeurope。这可以作为参数中的数组来完成,还是应该是带有 if 语句的变量数组?

我在其他线程上看到,ARM 模板实际上更多的是 if/else 语句,而不是 if/ifelse/else。

经典示例:

"availabilitySet": "[if(equals(parameters('production'), 'Yes'), variables('availabilitySetId'), json('null'))]",

我正在寻找这样的东西:

"parameters": {
    "Region": {
        "type": "string",
        "defaultValue": "USSC",
        "allowedValues": [
            "AIE",
            "BRS",
            "EUW",
            "USSC"
        ],
        "metadata": {
            "description": "Select Region"
        }
    }
},

"variables": {
    "regionReference": {
        "eastasia": "[if(equals(parameters('Region'), 'AIE')],
        "brazilsouth": "[if(equals(parameters('Region'), 'BRS')],
        "westeurope": "[if(equals(parameters('Region'), 'EUW')],
        "southcentral": "[if(equals(parameters('Region'), 'USSC')],
    }
}

请原谅我提前屠杀了它。我也考虑过条件语句,但也没有让它发挥作用。

最佳答案

你可以这样做:

"regionReference": {
    "AIE": "eastasia",
    "BRS": "brazilsouth",
    "EUW": "westeurope",
    "USSC": "southcentral"
}

然后您可以引用您选择的区域:

"location": "[variables('regionReference')[parameters('Region')])]"

尽管如此,我不明白你为什么要无缘无故地让自己的生活变得更加艰难

关于json - Azure ARM 模板可变条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60009315/

相关文章:

python - Azure机器学习python无法打开文件

azure - Terraform NSG 使用 for_each 从多个模块输出规则

azure - 从公共(public)访问设置为“打开”的 Azure Get-AzStorageContainer 获取 Blob URL?

Azure B2C - 在 Azure 中为不同用户类型设置多个登录的单一应用程序

entity-framework - 如何在 Azure 门户中覆盖 Azure Sql 连接

ruby-on-rails - 格式化 JSON API 的 Active Record 时间戳

json - readValue() 不能与 TypeReference 一起使用

python - 将空类型从 XLS 行转换为字符串

Python JSON 序列化一个 Decimal 对象

javascript - 我提取表格单元格内部文本的逻辑有什么问题?