План службы приложений. Невозможно переопределить вложенные ключи JSON в настройках приложения во время конвейера выпуска в Azure DevOps.

Чистое основное приложение. Мой appsettings.json выглядит так, как показано ниже.

{
  "AzureAd": {
    "Authority": "https://login.microsoftonline.com/",
    "TenantId": "mytenantid",
    "ClientId": "myclientid"
  },
  "ApplicationInsights": {
    "InstrumentationKey": "myinstrumentationkey"
  },
  "EnableSwagger":"true"
}

Я развернул свое приложение в службе приложений Azure. У меня есть настройки приложения в плане обслуживания приложений.

AzureAd:Authority
AzureAd:ClientId
AzureAd:TenantId
ApplicationInsights:InstrumentationKey
EnableSwagger

Проблема, с которой я сталкиваюсь, заключается в том, что всякий раз, когда я развертываю свое приложение в службе приложений Azure, только значение EnableSwagger из конфигураций службы приложений в appsettings.json. Итак, ключ: конфигурации типа Value работают нормально. Проблема с ключами вложенных объектов, например

"AzureAd": {
        "Authority": "https://login.microsoftonline.com/"
           }

Это значение не переопределяется из параметров приложения конфигурации службы приложений в мое приложение appsettings.json. Но там, где у меня есть только Key: Value, его приоритетность. Я потратил целый день и не мог понять, в чем проблема. Я попытался изменить конфигурацию appservice ниже syntex, так как это Linux. AzureAd: Полномочия, которые я заменил: на __ (двойное подчеркивание), это тоже не работает для меня? Также это происходит только тогда, когда я развертываю приложение через конвейер выпуска. Если я разверну вручную, щелкнув решение правой кнопкой мыши и настроив службу приложения, а затем нажмите кнопку «Опубликовать». Оно работает. Единственная проблема, с которой я столкнулся в конвейере выпуска. Может кто-нибудь подскажет, как это исправить? Любая помощь очень ценится. Спасибо


person Niranjan godbole    schedule 18.07.2020    source источник
comment
Значения, установленные в веб-приложении, переопределяют значения, представленные в файле appsettings.json, оно не заменяет их, среда выполнения просто использует другие значения.   -  person Daniel Mann    schedule 18.07.2020


Ответы (1)


Если вы хотите переопределить настройки приложения службы приложений Azure. Вы можете использовать поле Настройки приложения задача развертывания приложения Azure в конвейере выпуска.

1. Сначала вы можете определить переменные на вкладке Переменные конвейера выпуска для хранения настроек приложения. См. ниже:

введите описание изображения здесь

2. Затем вы можете переопределить параметр приложения в задаче развертывания службы приложений Azure.

Перейдите в Настройки приложения и конфигурации - ›Настройки приложения -› Нажмите 3DOT - ›Добавьте пару" ключ-значение ". (Вы можете обратиться к переменной, заключив имя переменной в $(), или вы можно просто установить значение, не определяя переменную на вкладке «Переменные».)

введите описание изображения здесь

После того, как релиз развернут. Настройки приложения в плане обслуживания приложения должны быть отменены.

person Levi Lu-MSFT    schedule 20.07.2020