Скрытые ссылки Terraform для приложения-функции Azure

Я пытался импортировать существующее приложение-функцию в свою конфигурацию terraform. План terraform показывает, что существующее приложение-функция имеет так называемые скрытые ссылки, а именно три скрытые ссылки, связанные с информацией о приложении:

"hidden-link: /app-insights-conn-string"         = "InstrumentationKey=********;IngestionEndpoint=********/"
"hidden-link: /app-insights-instrumentation-key" = "********"
"hidden-link: /app-insights-resource-id"         = "/subscriptions/********/resourceGroups/*******/providers/microsoft.insights/components/*******"

Я пытаюсь понять это, поскольку когда я создаю приложение-функцию с нуля, используя ту же конфигурацию terraform, у него нет скрытых ссылок, я могу просто настроить информацию о приложении, передав «application_insights_connection_string» в конфигурацию, и это работает. Но похоже, что для созданного вручную на портале Azure каким-то образом добавила эти ссылки в фоновом режиме и теперь хочет, чтобы terraform их импортировал.

Я прочитал, что мне следует сохранить эти скрытые ссылки, импортированные в мою конфигурацию, согласно этой теме обсуждения здесь — https://github.com/hashicorp/terraform-provider-azurerm/issues/16569

Мне нужно мнение экспертов относительно того, какое решение является идеальным?

  1. Должен ли я их импортировать, и в этом случае в конфигурации теперь будет новый раздел скрытых ссылок, и он будет создан для любого другого нового приложения-функции из этой конфигурации?

  2. Должен ли я поместить их в блок игнорирования изменений в жизненном цикле? импорт затем игнорирует их, но я не знаю, хорошо ли это.

    жизненный цикл { ignore_changes = [ теги["скрытая ссылка: /app-insights-instrumentation-key"], теги["скрытая ссылка: /app-insights-resource-id"], теги["скрытая ссылка: /app-insights-conn-string"] ] }

Любые идеи приветствуются, и если кто-то еще сталкивался с этим, пожалуйста, дайте мне знать.

Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
1
0
108
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Обычно я бы рекомендовал изучить проверенные модули Azure, прежде чем создавать все с нуля. Может сэкономить вам много времени и головной боли ;-) https://azure.github.io/Azure-Verified-Modules/

https://github.com/Azure/terraform-azurerm-avm-res-web-site

Тег скрытой ссылки используется для связи информации о приложении с вашей функцией. Оба упомянутых вами варианта полностью действительны: либо добавьте тег в файл TF.

Что-то вроде:

tags = merge(var.tags,{"hidden-link:${azurerm_application_insights.myAppInsights.id}":"Resource"})

Или отключить изменения жизненного цикла

lifecycle {
     ignore_changes = [tags] 
   }

Эй, спасибо за ответ. Итак, в случае игнорирования, означает ли это, что terraform больше не управляет этими скрытыми ссылками? для создания будущего приложения-функции, позаботится ли Azure об этом в серверной части?

Somsubhra Mukherjee 06.06.2024 14:15

Это означает, что TF будет игнорировать изменения в TAGS. Поэтому, когда Azure создает их, вы не удаляете их снова.

Julian Hüppauff 06.06.2024 15:47

Другие вопросы по теме

Неправильный путь загрузки модуля Terragrunt plan-all
Как использовать синий/зеленый стиль развертывания с CodeDeploy и группами автоматического масштабирования, который позволяет выполнять повторяющиеся развертывания в Terraform?
Terraform formatdate и постоянные обновления временных меток
Как я могу предоставить аргументы в свой скрипт, если он запускается как пользовательские данные в terraform?
Невозможно подключиться к psql в модуле postgres kubernetes
Ошибка AuthorizationFailed при перечислении секретов для статического сайта после обновления до Terraform v1.8.0 и azurerm v3.105.0
Как эффективно использовать azure_virtual_machine_extension в Azure Terraform
Имя хоста виртуальной машины Azure не меняется в terraform
Terraform: ошибка: получение статических свойств веб-сайта для учетной записи хранения (подписка: ***: превышен крайний срок контекста)
Аутентификация в Azure с использованием управляемого удостоверения с помощью Terraform

Похожие вопросы

Используйте фабрику данных Azure для динамического создания новых столбцов
Пользовательский анализатор вложенного свойства в службе поиска показывает ошибку в Azure
Как решить проблему «ManagedIdentityCredential.GetToken не удалось получить токен доступа». при использовании Azure ServiceBusTrigger и управляемого удостоверения?
Создайте веб-книгу, чтобы получать уведомления, создавать и обновлять пользователей на портале Azure
Функции Azure (Node.js): как прочитать открытый ключ (.cer), загруженный в блейд сертификатов в Azure, из кодов?
Bicep — использование OpenAPI для создания определения API и политик XML для каждой операции
Я не могу получить доступ ни к чему в разделе «Создание аудиоконтента», ошибка «У вас нет прав на операцию»
Переменные среды для параметров приложения в Службе приложений Azure
Azure SDK .NET — пакетное удаление больших двоичных объектов с помощью SAS
Необходимо ПОЛУЧИТЬ токен OAuth только с идентификатором клиента, без секретного кода клиента и URL-адресом перенаправления