настройка значения переменной приложения логики во время выпуска - HTTP-вызовы

Вкратце, у меня 2 вопроса:

  1. как мы можем setup logic app variable value at realease time (например) ...
  2. Или как приложение логики может считывать значения из файла настроек?

My actual environment:

У меня есть 2 azure "environments", другими словами 2 azure resource groups, каждый из которых содержит одинаковые ресурсы и конфигурации.

Azure
|
| Группа ресурсов __Dev: приложение логики + приложение API + .... другие ресурсы
| Группа ресурсов __Prod: приложение prod logic + приложение prod api + .... другие ресурсы продукта

В моих приложениях логики у меня есть шаги вызова конечной точки http.

здесь

На самом деле оба приложения логики (приложение prod logic и приложение dev logic) вызывают конечные точки приложения dev api (одно и то же приложение api в среде dev), потому что моя проблема в том, что я не мог найти способ для преобразования значения URL-адреса внутри http-вызовов приложения логики.

Что я пытаюсь сделать, так это изменить значение базового URL-адреса, подчеркнутого на изображении выше, на соответствующий URL-адрес приложения api для каждой среды (dev и prod), как показано ниже:

URL-адрес приложения Dev api: https://pwfotcapiapp

URL-адрес приложения prod api: https://pwfprodotwapiapp ...

Я попытался настроить базовый URL-адрес приложения api в переменной в appsettings.json и преобразовать его во время развертывания. Это было нормально, но я не мог установить значение базового URL-адреса, потому что не мог найти способ читать переменные appsettings.json из приложений логики.

У меня есть конвейер Ci / Cd, который создает или обновляет соответствующие ресурсы для каждой группы ресурсов и успешно выполняет преобразование переменных:

ci cd

Другими словами, у меня есть:

2 среды, 2 веб-приложения (приложения api), 2 приложения логики

==> Я хочу иметь возможность настраивать значения URL-адресов для HTTP-вызовов каждого приложения логики, чтобы указывать на другое веб-приложение (приложение api) во время выпуска или найти способ считывать значения параметров приложения из приложения логики.

Любой вклад будет оценен

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

Я использую Visual Studio для разработки своего приложения логики

Триггером для моей сборки является фиксация, затем отбрасывание (отбрасывание артефакта сборки) является триггером для конвейера развертывания.




Ответы (2)


Мы можем прочитать appsettings.json из приложения логики, выполнив следующие действия:

  1. Я устанавливаю значение baseurl в appsetting.json и создаю большой двоичный объект хранилища Azure, а затем загружаю в него appsetting.json.

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

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

  1. Используйте действие «Получить содержимое большого двоичного объекта» в приложении логики, чтобы получить содержимое appsetting.json. введите описание изображения здесь

  2. Затем инициализируйте переменную с именем «jsonString» и установите значение с помощью выражения, показанного на скриншоте ниже. введите описание изображения здесь

  3. После этого мы можем использовать действие «Разобрать JSON» для анализа полученного выше jsonString. введите здесь описание изображения Мы можем нажать «Использовать образец полезной нагрузки для создания схемы» на скриншоте выше и ввести в него содержимое appsetting.json, чтобы сгенерировать схему.

  4. Затем мы можем инициализировать другую переменную с именем «baseurl» и установить значение с помощью baseurl, полученного из «Parse JSON». введите описание изображения здесь

  5. Теперь мы можем использовать baseurl с помощью выражения, показанного на скриншоте ниже в вашем действии «HTTP». введите описание изображения здесь

Надеюсь, это поможет в решении вашей проблемы ~

person Hury Shen    schedule 22.10.2019
comment
спасибо за ваш ответ, как мне автоматизировать операцию загрузки appsettings.json. настройки appsettigns.json изменяются во время выпуска (развертывания). поэтому загрузка должна выполняться сразу после развертывания, чтобы отразить текущие значения переменных. - person Haithem KAROUI; 22.10.2019

Я только что протестировал приложение логики с параметрами шаблона.

Я использовал пример по умолчанию для разработка приложения логики с помощью Visual Studio.

Я параметризовал как базовый URL для RSS-канала, так и почту для значения. Шаги следующие -

  1. Объявить параметр шаблона. DefaultValue не является обязательным. Step1
  2. Замените строки внутри полей, заменив их вызовом параметра. Step2
  3. Затем вы также можете переопределить эти параметры в файле параметров. Step3
  4. Вы также можете изменить значение параметра в конвейере CD  введите описание изображения здесь

Приоритет значений - “LogicApp.json” < “LogicApp.parameters.json” < “override in CD pipeline”.

В этом примере вы можете видеть, что я использовал «google.com» в качестве базового URL-адреса по умолчанию. Но я отменяю это в файлах параметров. Также у меня есть три разных адреса электронной почты в разных файлах. Таким образом, использовался адрес электронной почты, представленный в конвейере компакт-диска, переопределяя как объявление по умолчанию, так и файл параметров.

Но используется базовый URL, как указано в файле параметров. Поэтому, если у вас есть разные этапы / задачи для развертывания приложения логики в среде разработки и в производственной среде, вы можете использовать любой из этих способов.

person Haithem KAROUI    schedule 22.10.2019