此问题要求appsetting的键和值都是有条件的。 Set an appsetting value conditionally in an ARM template是一个相关问题,只需要条件值。
我们有四个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
设置,并且ci
,qa
和{{1}中没有此类键或值环境。想到这样的东西,但当然不适用于ARM模板。
prod
答案 0 :(得分:2)
所以,同样的方法,但传入对象;)如果需要,你可以创建另一个间接层(如果你需要更多的条件)。
"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')]"