Я хочу реализовать промежуточный слот для функции Azure. Подход, который я пытаюсь использовать, - это определить слот в шаблоне ARM вместе с остальной инфраструктурой и настройками приложения. Затем я разверну приложение в промежуточном слоте и выполню замену слота, используя az
.
Проблема, с которой я сталкиваюсь, заключается в том, что настройки приложения иногда содержат параметры, указанные c для версии запущенного приложения. . В шаблоне ARM я хочу применить новую настройку приложения к промежуточному слоту, сохранив при этом текущее установленное значение для некоторых настроек производственного слота. Эти настройки производственного слота должны быть обновлены только тогда, когда своп произойдет на следующих нескольких шагах.
Мне не удалось найти способ express этого в ARM. Я попытался использовать ссылку, чтобы установить для свойства appsetting его текущее значение. Я не уверен, возможно ли это, но я получаю общую c ошибку проверки без подробностей о том, почему это не удалось.
Есть ли способ оставить некоторые настройки приложений в ARM неизменными?
ОБНОВЛЕНИЕ
Вот фрагмент моей попытки сохранить существующее значение конфигурации.
{
"type": "Microsoft.Web/sites/config",
"name": "MyApp/appsettings",
"apiVersion": "2019-08-01",
"properties": {
"MY_APP_CONFIG1": "[reference(resourceId('Microsoft.Web/sites/config', 'MyApp', 'appsettings'), '2019-08-01', 'Full').properties.MY_APP_CONFIG1]"
}
}
Ссылочная функция, представленная здесь, не проходит проверку шаблона. Единственная информация, которую он мне дает: The deployment validation failed
.