Мы подготовили решение с terraform в лазурном режиме, одним из шагов является подготовка функционального приложения.
отдельный конвейер устанавливает функцию программного обеспечения в приложении функции
когда я повторно запускаю terraform apply (для обновления чего-либо), функции программного обеспечения удаляются из приложения функции azure
Это ожидаемое поведение при использовании terraform версии 1.22?
Исходя из исходного вопроса. Я считаю, что сегодняшнее изменение с terraform 1.21 на 1.22 добавило дополнительное приложение в приложение-функцию. который, казалось, повторно развернул все приложение-функцию вместо того, чтобы просто добавить настройку приложения и тем самым разрушить функциональность, потому что функции исчезли.
Я не уверен, является ли это ошибкой или ожидаемым поведением, но, по крайней мере, мы этого не ожидали.
Поскольку я не хочу снова что-то развертывать только из-за изменения аппсеттинга. Кто-нибудь сталкивается с этим, и у вас есть работа, или это их рабочий процесс, который я пропустил в документации terraform.
Дополнительная информация Редактировать 2:
Функция Azure создана вот так
resource "azurerm_function_app" "xxx"{
name = "xxx-status2signalr-func"
location = "${var.region}"
resource_group_name = "${azurerm_resource_group.xxx.name}"
app_service_plan_id = "${azurerm_app_service_plan.xxx.id}"
storage_connection_string = "${azurerm_storage_account.xxx.primary_connection_string}"
enable_builtin_logging = "false"
app_settings {
"blabladosmomethingEventhub" = "${var.blabla-something-eventhub}"
"blabladosomethingChangedEventhubConsumer" = "${var.blabla-dosomething-eventhub-consumer}"
"blablasomethingEventhubConnectionkeyListen" = "${var.xxxblabladosomethingchangedlisten}"
"AzureSignalRConnectionString" = "${azurerm_signalr_service.xxx.primary_connection_string}"
"WEBSITE_RUN_FROM_PACKAGE" = "1"
}
enabled="true"
version="~2"
}
Функция создана красиво Мы развернули программную часть функции, которая в настоящее время используется в Visual Studio, развертывание правой кнопкой мыши
Все работает
Теперь мы внесли следующее изменение в ключ appsettings
resource "azurerm_function_app" "xxx"{
name = "xxx-status2signalr-func"
location = "${var.region}"
resource_group_name = "${azurerm_resource_group.xxx.name}"
app_service_plan_id = "${azurerm_app_service_plan.xxx.id}"
storage_connection_string = "${azurerm_storage_account.xxx.primary_connection_string}"
enable_builtin_logging = "false"
app_settings {
"APPINSIGHTS_INSTRUMENTATIONKEY" = "${azurerm_application_insights.xxx.instrumentation_key}"
"blabladosmomethingEventhub" = "${var.blabla-something-eventhub}"
"blabladosomethingChangedEventhubConsumer" = "${var.blabla-dosomething-eventhub-consumer}"
"blablasomethingEventhubConnectionkeyListen" = "${var.xxxblabladosomethingchangedlisten}"
"AzureSignalRConnectionString" = "${azurerm_signalr_service.xxx.primary_connection_string}"
"WEBSITE_RUN_FROM_PACKAGE" = "1"
}
enabled="true"
version="~2"
}
в выходных данных плана было показано обновление 1 "APPINSIGHTS_INSTRUMENTATIONKEY" = "$ {azurerm_application_insights.xxx.instrumentation_key}"
При проверке приложения ключ был красиво добавлен, но развернутого программного обеспечения не было.
Любые указания по этому поводу приветствуются.