Развертывание приложения логики в разных подписках Azure

В настоящее время у меня есть две настройки подписок на Azure, одна для DEV и одна для TEST. Я создал приложение логики через Visual Studio, проблема в том, что когда я открываю конструктор приложений логики, я должен связать приложение логики с подпиской и группой ресурсов:

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

Если я свяжу его с подпиской DEV, это, очевидно, помешает мне развернуть приложение логики в подписке TEST. Означает ли это, что мне придется создать идентичное приложение логики для тестирования, или я ошибаюсь?


person M0rty    schedule 03.04.2019    source источник
comment
Используйте шаблон ARM, чтобы развернуть их по отдельности   -  person HariHaran    schedule 03.04.2019
comment
@HariHaran Я думаю, что моя основная проблема заключается в том, что я использую действие лазурной функции внутри приложения логики, которое связано с функцией внутри одной из моих подписок. Я не уверен, как это параметризовать. Обходной путь может заключаться в использовании вместо этого действия Http Post.   -  person M0rty    schedule 03.04.2019
comment
да, ты можешь попробовать это   -  person HariHaran    schedule 03.04.2019


Ответы (3)


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

"function": { "id": "[resourceId('Microsoft.Web/sites/functions', parameters('functionAppName'), variables('functionName'))]" }

person M0rty    schedule 04.04.2019

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

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

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

Потому что он использует файл .ps1 для развертывания LogicApp.json, он такой же, как развертывание шаблона.

Что касается функции в Logic Apps, вы не можете просто добавить функцию. Вы должны использовать функцию триггера HTTP, а затем использовать HTTP-запрос в приложениях логики. Описание можно найти в этом документе и это руководство.

person George Chen    schedule 03.04.2019
comment
Привет, Джордж, ценю подробный ответ. В итоге я нашел решение. Основная проблема заключалась в том, что внутри моего приложения LogicApp я использовал соединитель приложения-функции, который напрямую подключался к функции внутри одной из моих подписок. Мне удалось параметризовать идентификатор функции, чтобы я мог использовать любую подписку "function": { "id": "[resourceId('Microsoft.Web/sites/functions', parameters('functionAppName'), variables('functionName'))]" } - person M0rty; 04.04.2019
comment
@ M0rty, если вы нашли решение, вы можете опубликовать свое решение и отметить его, чтобы закрыть вопрос. - person George Chen; 04.04.2019

Что-то, что сработало для меня, - это перейти к просмотру кода и скопировать файл json.

Однако обратите внимание, копируя ваши подключения и ссылки на подписку, они могут вызвать проблемы в новом местоположении, на которое вы указываете, особенно если вы путешествуете по организациям.

Шаги:

Logic Apps - ›Edit -› Code view - скопируйте исходное приложение логики  Редактировать приложение логики

просмотр кода

Войдите в новую подписку или в организацию

Приложения логики - ›Новое пустое приложение логики -› Редактировать - ›Просмотр кода и вставка - попробуйте сохранить. Если вы перемещаете подписку / организацию, вероятно, что любые ссылки на API или соединения API не будут работать так же, как ссылки на SQL.

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

Перейдите в представление кода, как указано выше, и прокрутите вправо до конца этого простого приложения логики, проверьте ссылку и скопируйте идентификаторы и идентификаторы подключения:

Показывает что-то вроде:

"connectionId": "/subscriptions/xxxxxx/resourceGroups/xxxxxx/providers/Microsoft.Web/connections/sql",    
"connectionName": "sql",
"id": "/subscriptions/xxxxxx/providers/Microsoft.Web/locations/uksouth/managedApis/sql"

Здесь вам нужно будет обновить ссылку на правильные подписки и организации, которые у вас были в рабочем приложении логики.

person TheNerdyNerd    schedule 14.07.2021