У меня проблемы с настройкой шаблона ARM для веб-приложений Azure, так как я не могу добавить параметры ConnectionString, где он устанавливает значения, если параметры заданы, но оставить пустым (по умолчанию), если параметры не заданы.
Вот как это выглядит в файле template.json:
"connectionStrings": [
{
"name": "[parameters('connString').connName)]",
"connectionString": "[parameters('connString').string]",
"type": "[parameters('connString').connType]"
}
],
И в файле settings.json:
"connString": {
"value": {
"connName": "",
"string": "",
"connType": ""
}
},
При запуске развертывания свыше это терпит неудачу на "Имя параметра не может быть пустым" Я попытался использовать функцию равенства, чтобы установить значение как пустое, если параметр пуст, но установить параметр, если параметр заполнен, однако ему не нравится пустоезначение.
"name": "[if(equals(parameters('connString').connName,''),'',parameters('connString').connName)]"
Также была предпринята попытка пустой функции:
"name": "[not(empty(parameters('connString').connName))]"
Однако при этом возвращается «False», если он пуст, и «True», если параметр установлен (как задумано)
Развертывание работает нормально, если я устанавливаю фиктивные значения в качестве параметров, можно ли установить функцию или что-то подобное, чтобы, если параметр был пустым, он использовал любое отправленное значение, как если бы в шаблоне отсутствовал раздел connectionStrings?Эти параметры являются необязательными, но похоже, что они находятся в самом файле template.json, ожидая значения.
Cheers
EDIT Собираюсь опубликовать, как выглядят мои конечные шаблоны на случай, если кому-то еще понадобится помощь.
Файл шаблона
Переменные
"variables": {
"empty": []
},
Ресурсы
"connectionStrings": "[if(empty(parameters('connString')), variables('empty'), array(parameters('connString')))]",
Файл параметров
При настройке строки подключения
"connString": {
"value": [{
"name": "test",
"connectionString": "ufgndjkngsdgjkn",
"type": "Custom"
}]
},
Если не нужно устанавливать строку подключения
"connString": {
"value": [
]
},