установить значение переменной приложения логики во время выпуска - вызовы http - PullRequest
0 голосов
/ 18 октября 2019

Очень скоро у меня есть 2 вопроса:

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

My actual environment:

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

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

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

here

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

. Я пытаюсь изменить базовое значение URL, подчеркнутое на изображении выше с помощью ade. quate api app url каждой среды (dev и prod), например:

url app api: https://pwfotcapiapp

url app prod api: https://pwfprodotwapiapp...

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

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

ci cd

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

2 окружения, 2 сетиприложения (приложения API), 2 приложения логики

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

Любой вклад будет приветствоваться

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

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

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

Ответы [ 2 ]

0 голосов
/ 22 октября 2019

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

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

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

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

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

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

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

0 голосов
/ 22 октября 2019

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

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

enter image description here

enter image description here

Используйте действие «Получить содержимое BLOB-объекта» в приложении логики, чтобы получить содержимое файла appsetting.json. enter image description here

Затем инициализируйте переменную с именем "jsonString" и установите значение с помощью выражения, показанного на снимке экрана ниже. enter image description here

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

Затем мы можем инициализировать другую переменную с именем «baseurl» и установить значение с помощью baseurl get из «Parse JSON». enter image description here

Теперь мы можем использовать baseurl по выражению, как показано на скриншоте ниже, в вашем действии "HTTP". enter image description here

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

...