Как указать иерархические настройки приложения в службе приложений Azure? - PullRequest
1 голос
/ 11 февраля 2020

appsettings. json позволяет нам указать иерархические настройки:

    "ApplicationInsights": {
        "InstrumentationKey": "..."
    }

В коде они используются следующим образом - config["ApplicationInsights:InstrumentationKey"]

Однако, пытаясь предоставить ApplicationInsights:InstrumentationKey в конфигурация terraform службы приложения:

 app_settings = {
    "ApplicationInsights:InstrumentationKey"   = data.azurerm_application_insights.instance.instrumentation_key
  }

В результате выдается следующее сообщение об ошибке:

 Error: Error updating Application Settings for App Service "app505-dfpg-qa2-web-eastus2-gateway-apsvc": web.AppsClient#UpdateApplicationSettings: Failure responding to request: StatusCode=400 -- Original Error: autorest/azure: Service returned an error. Status=400 Code="BadRequest" Message="AppSetting with name 'ApplicationInsights:InstrumentationKey' is not allowed." Details=[{"Message":"AppSetting with name 'ApplicationInsights:InstrumentationKey' is not allowed."},{"Code":"BadRequest"},{"ErrorEntity":{"Code":"BadRequest","ExtendedCode":"04072","Message":"AppSetting with name 'ApplicationInsights:InstrumentationKey' is not allowed.","MessageTemplate":"AppSetting with name '{0}' is not allowed.","Parameters":["ApplicationInsights:InstrumentationKey"]}}]

Похоже, это Azure жалуется, а не terraform.

Итак, как это можно сделать, если вообще?

РЕДАКТИРОВАТЬ 1

Пожалуйста, обратите внимание, что это только пример. С таким же успехом я могу попросить следующую иерархическую настройку:

    "YabaDabaDoo": {
        "YogiBear": "..."
    }

Как мы предоставляем ее в конфигурации службы приложений?

1 Ответ

2 голосов
/ 12 февраля 2020

Как показывает ошибка, установка приложений с именем «ApplicationInsights: InstrumentationKey» не разрешена. Служба приложения Azure Function или Azure связана с экземпляром Application Insights, добавив инструментальный ключ в настройки приложения приложения Azure. Вы должны использовать

app_settings {
    "APPINSIGHTS_INSTRUMENTATIONKEY" = "${data.azurerm_application_insights.instance.instrumentation_key}"
  }

Более подробную информацию вы можете получить в этом примере .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...