1

这个问题要求 appsetting 的key 和 value都是有条件的。在 ARM 模板中有条件地设置 appsetting 值是一个相关问题,只需要一个条件

我们有四个 parameters.environment.json 文件。例如,这是 parameters.dev.json 的内容。

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01...",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "env": {
            "value": "dev"
        }
    }
}

要求是API_KEY仅在环境中添加设置,并且在、和环境dev中没有这样的键或值。想到这样的东西,但当然不适用于 ARM 模板。ciqaprod

"appSettings": [
    {
        [if(parameters('env') eq 'dev')]
        {
            "name": "API_KEY", 
            "value": "[parameters('apikey')]"
        }    
        [endif()]
    }
]    
4

1 回答 1

3

所以,同样的方法,但是传入对象;)如果你需要,你可以创建另一个级别的间接(如果你需要更多的条件)。

"variables": {
"Appsettings1": {
    "name": "API_KEY1", 
    "value": "[parameters('apikey1')]",
    "existingsetting": "bla-bla"
},
"Appsettings2": {
    "name": "API_KEY2", 
    "value": "[parameters('apikey2')]",
    "existingsetting": "bla-bla"
},
"realAppsettings": "[variables(parameters('realAppsettings'))]" # < this pulls 
                  # Appsettings1 or Appsettings2 depending on the value or parameter
...
"appSettings": "[variables('realAppsettings')]"

参考:在 ARM 模板中有条件地设置 appsetting 值

于 2017-03-08T18:57:30.603 回答