Краткое руководство. Создание определений рабочих процессов приложения логики и управление ими с помощью мультитенантных Azure Logic Apps и Visual Studio Code

Область применения: Azure Logic Apps (потребление)

В этом кратком руководстве показано, как создавать рабочие процессы приложения логики и управлять ими, которые помогают автоматизировать задачи и процессы, которые интегрируют приложения, системы, системы и службы в организациях и предприятиях с помощью мультитенантных приложений Azure Logic Apps и Visual Studio Code. Вы можете создать и изменить базовые определения рабочего процесса, которые используют нотацию объектов JavaScript (JSON) для приложений логики, через код. Вы также можете работать с приложениями логики, уже развернутыми в Azure. Дополнительные сведения о мультитенантной и однотенантной модели см . в разделе "Один клиент" и "Мультитенантная" и "среда службы интеграции".

Несмотря на то, что эти задачи можно выполнять на портале Azure и в Visual Studio, Visual Studio Code позволяет быстрее приступить к работе если вы уже знакомы с приложением логики и хотите работать непосредственно в коде. Например, также можно отключать, включать, удалять и обновлять уже созданные приложения логики. Кроме того, вы можете работать в приложениях логики и учетных записях интеграции на любой платформе разработки с поддержкой Visual Studio Code, например Linux, Windows и Mac.

В этой статье вы можете создать то же приложение логики из этого краткого руководства, которое демонстрирует основные понятия. Вы также можете узнать, как создать пример приложения в Visual Studio, а также как создавать приложения и управлять ими с помощью Azure CLI. В Visual Studio Code приложение логики выглядит так, как показано в следующем примере.

Example logic app workflow definition

Необходимые компоненты

Прежде чем начать, убедитесь, что у вас есть эти элементы:

Доступ к Azure из Visual Studio Code

  1. Откройте Visual Studio Code. На панели инструментов Visual Studio Code щелкните значок Azure.

    Select Azure icon on Visual Studio Code toolbar

  2. В окне Azure в разделе Logic Apps выберите пункт Sign in to Azure (Войти в Azure). Когда отобразится запрос страницы входа Майкрософт, войдите с помощью учетной записи Azure.

    Select

    1. Если вход занимает больше времени, Visual Studio Code предложит вам войти через веб-сайт проверки подлинности Майкрософт, предоставив вам код устройства. Чтобы выполнить вход с помощью кода, нажмите кнопку Use Device Code (Использовать код устройства).

      Continue with device code instead

    2. Чтобы скопировать код, нажмите кнопку Copy & Open (Копировать и открыть).

      Copy code for Azure sign in

    3. Чтобы открыть новое окно браузера и перейти на веб-сайт проверки подлинности, нажмите кнопку Открыть ссылку.

      Confirm opening a browser and going to authentication website

    4. На странице Войдите в учетную запись введите код проверки подлинности и нажмите кнопку Далее.

      Enter authentication code for Azure sign in

  3. Выберите учетную запись Azure. После входа можно закрыть браузер и вернуться в Visual Studio Code.

    На панели Azure в разделе Logic Apps и Учетные записи интеграции теперь отображаются подписки Azure, связанные с вашей учетной записью. Однако если вы не видите нужных подписок или если в разделах отображается слишком много подписок, сделайте следующее:

    1. Наведите указатель мыши на метку Logic Apps. Когда появится панель инструментов, выберите параметр Выбор подписок (значок фильтра).

      Find or filter Azure subscriptions

    2. В появившемся списке выберите подписки, которые должны отображаться.

  4. В разделе Logic Apps выберите нужную подписку. Узел подписки разворачивается и отображает все приложения логики, которые существуют в этой подписке.

    Select your Azure subscription

    Совет

    В разделе Учетные записи интеграции при выборе подписки отображаются все учетные записи интеграции, которые существуют в этой подписке.

Создание приложения логики

  1. Если вы еще не вошли в учетную запись Azure и подписку из Visual Studio Code, выполните предыдущие действия, чтобы войти.

  2. В Visual Studio Code в разделе Logic Apps откройте контекстное меню своей подписки и выберите Создать приложение логики.

    From subscription menu, select

    Появится список, в котором отобразятся все группы ресурсов Azure в вашей подписке.

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

    Create a new Azure resource group

  4. Укажите имя для группы ресурсов Azure и нажмите клавишу ВВОД.

    Provide name for your Azure resource group

  5. Выберите регион Azure, в котором необходимо сохранить метаданные приложения логики.

    Select Azure location for saving logic app metadata

  6. Укажите имя приложения логики и нажмите клавишу ВВОД.

    Provide name for your logic app

    В окне Azure в подписке Azure появится новое и пустое приложение логики. Visual Studio Code также открывает файл JSON (.logicapp.json), который содержит схему определения рабочего процесса для приложения логики. Теперь можно вручную выполнить разработку определения рабочего процесса приложения логики в этом JSON-файле. Технические справочные сведения о структуре и синтаксисе определения рабочего процесса см. в разделе Schema reference guide for the Workflow Definition Language in Azure Logic Apps (Справочное руководство по схеме для языка определения рабочих процессов в Azure Logic Apps).

    Empty logic app workflow definition JSON file

    Например, ниже приведен пример определения рабочего процесса приложения логики, который начинается с триггера RSS и действия Office 365 Outlook. Обычно элементы JSON отображаются в каждом разделе в алфавитном порядке. Однако в этом примере эти элементы отображаются приблизительно в том порядке, в котором в конструкторе отображаются шаги приложения логики.

    Внимание

    Если вы хотите повторно использовать этот пример определения приложения логики, вам потребуется учетная запись организации, например @fabrikam.com. Обязательно замените вымышленный адрес электронной почты своим. Чтобы использовать другой соединитель электронной почты, например Outlook.com или Gmail, замените действие Send_an_email_action аналогичным действием, доступным в соединителе электронной почты, поддерживаемом Azure Logic Apps.

    Только учетные записи для бизнеса G-Suite могут использовать соединитель Gmail без ограничений в приложениях логики. Если у вас есть учетная запись потребителя Gmail, вы можете использовать этот соединитель только с определенными утвержденными Google службами. Кроме того, вы можете создать клиентское приложение Google, которое будет использоваться для проверки подлинности в соединителе Gmail. Дополнительные сведения см. в статье Политики безопасности и конфиденциальности данных для соединителей Google в Azure Logic Apps.

    {
       "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
       "contentVersion": "1.0.0.0",
       "parameters": {
          "$connections": {
             "defaultValue": {},
             "type": "Object"
          }
       },
       "triggers": {
          "When_a_feed_item_is_published": {
             "recurrence": {
                "frequency": "Minute",
                "interval": 1
             },
             "splitOn": "@triggerBody()?['value']",
             "type": "ApiConnection",
             "inputs": {
                "host": {
                   "connection": {
                      "name": "@parameters('$connections')['rss']['connectionId']"
                   }
                },
                "method": "get",
                "path": "/OnNewFeed",
                "queries": {
                   "feedUrl": "http://feeds.reuters.com/reuters/topNews"
                }
             }
          }
       },
       "actions": {
          "Send_an_email_(V2)": {
             "runAfter": {},
             "type": "ApiConnection",
             "inputs": {
                "body": {
                   "Body": "<p>Title: @{triggerBody()?['title']}<br>\n<br>\nDate published: @{triggerBody()?['updatedOn']}<br>\n<br>\nLink: @{triggerBody()?['primaryLink']}</p>",
                   "Subject": "RSS item: @{triggerBody()?['title']}",
                   "To": "sophia-owen@fabrikam.com"
                },
                "host": {
                   "connection": {
                      "name": "@parameters('$connections')['office365']['connectionId']"
                   }
                },
                "method": "post",
                "path": "/v2/Mail"
             }
          }
       },
       "outputs": {}
    }
    
  7. Когда все будет готово, сохраните определение рабочего процесса приложения логики. (Меню "Файл > Сохранить" или нажмите клавиши CTRL + S)

  8. Когда появится запрос на отправку приложения логики в подписку Azure, выберите пункт Отправить.

    На этом этапе приложение логики публикуется на портале Azure, а логика запускается в Azure.

    Upload new logic app to your Azure subscription

Просмотр приложения логики в конструкторе

В Visual Studio Code можно открыть приложение логики в режиме конструктора только для чтения. Несмотря на то, что приложение логики нельзя изменить в конструкторе, вы можете просмотреть рабочий процесс приложения логики в режиме конструктора.

В окне Azure в разделе Logic Apps откройте контекстное меню приложения логики и выберите пункт Open in Designer (Открыть в конструкторе).

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

View logic app in read-only designer

Просмотреть на портале Azure

Чтобы просмотреть приложение логики на портале Azure, сделайте следующее:

  1. Войдите на портал Azure с помощью той же учетной записи и подписки Azure, которая связана с приложением логики.

  2. В поле поиска портала Azure введите имя приложения логики. В списке результатов выберите ваше приложение логики.

    Your new logic app in Azure portal

Изменение развернутого приложения логики

В Visual Studio Code можно открыть и изменить определение рабочего процесса для развернутого приложения логики в Azure.

Внимание

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

  1. Если вы еще не вошли в учетную запись Azure и подписку из Visual Studio Code, выполните предыдущие действия, чтобы войти.

  2. В окне Azure в разделе Logic Apps разверните подписку Azure и выберите нужное приложение логики.

  3. Откройте меню приложения логики и выберите Открыть в редакторе. Или рядом с именем приложения логики щелкните значок редактирования.

    Open editor for existing logic app

    Visual Studio Code открывает файл .logicapp.json в локальной временной папке, чтобы можно было просмотреть определение рабочего процесса приложения логики.

    View workflow definition for published logic app

  4. Внесите изменения в определение рабочего процесса приложения логики.

  5. Сохраните изменения, когда закончите. (Меню "Файл > Сохранить" или нажмите клавиши CTRL + S)

  6. При появлении запроса на отправку изменений и перезапись имеющегося приложения логики на портале Azure выберите пункт Отправить.

    На этом этапе обновления для приложения логики публикуются на портале Azure.

    Upload edits to logic app definition in Azure

Просмотр или повышение уровня других версий

В Visual Studio Code можно открыть и проверить более ранние версии приложения логики, а также повысить уровень версии с более ранней на текущую.

Внимание

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

  1. В окне Azure в разделе Logic Apps разверните подписку Azure, чтобы можно было просмотреть все приложения логики в этой подписке.

  2. Разверните приложение логики в подписке и узел Версии.

    В списке Версии отображаются более ранние версии приложения логики, если они существуют.

    Your logic app's previous versions

  3. Чтобы просмотреть более раннюю версию, выберите одно из следующих действий:

    • Чтобы просмотреть определение JSON, в разделе Версии выберите номер версии для этого определения. Вы также можете открыть контекстное меню этой версии и выбрать пункт Open in Editor (Открыть в редакторе).

      На локальном компьютере откроется новый файл, в котором будет показано определение JSON этой версии.

    • Чтобы просмотреть версию в режиме конструктора только для чтения, откройте контекстное меню этой версии и выберите пункт Open in Designer (Открыть в конструкторе).

  4. Чтобы повысить уровень версии с более раннего на текущий, сделайте следующее:

    1. В разделе Версии откройте контекстное меню более ранней версии и выберите пункт Повысить уровень.

      Promote earlier version

    2. Visual Studio Code запросит подтверждение. Чтобы продолжить, нажмите кнопку Да.

      Confirm promoting earlier version

      Visual Studio Code повышает уровень выбранной версии до уровня текущей версии и присваивает этой версии новый номер. Ранее текущая версия отображается теперь как версия повышенного уровня.

Отключение и включение приложений логики

Если вы изменяете опубликованное приложение логики и сохраняете изменения в Visual Studio Code, уже развернутое приложение перезаписывается. Чтобы не нарушать работу приложения логики в рабочей среде или свести к минимуму такое нарушение, сначала отключите приложение логики. Убедившись, что приложение логики по-прежнему работает, вы можете повторно активировать его.

  • Azure Logic Apps продолжит все выполняющиеся и ожидающие выполнения операции, пока они не будут завершены. Этот процесс может занять некоторое время в зависимости от объема или от невыполненной работы.

  • Azure Logic Apps не будет создавать или выполнять новые экземпляры рабочего процесса.

  • Триггер не будет срабатывать при следующем выполнении условий.

  • Состояние триггера запоминает точку, в которой приложение логики было остановлено. Таким образом, при повторной активации приложения логики триггер срабатывает для всех необработанных элементов с момента последнего запуска.

    Чтобы предотвратить срабатывание триггера из-за необработанных элементов с момента последнего выполнения, очистите состояние триггера перед повторной активацией приложения логики:

    1. В приложении логики измените любую часть триггера рабочего процесса.
    2. Сохранение изменений. На этом шаге выполняется сброс текущего состояния триггера.
    3. Повторно активируйте приложение логики.
  • Когда рабочий процесс отключен, вы по-прежнему можете повторно отправлять выполнения.

  1. Если вы еще не вошли в учетную запись Azure и подписку из Visual Studio Code, выполните предыдущие действия, чтобы войти.

  2. В окне Azure в разделе Logic Apps разверните подписку Azure, чтобы можно было просмотреть все приложения логики в этой подписке.

    1. Чтобы отключить требуемое приложение логики, откройте меню приложения логики и выберите Отключить.

      Disable your logic app

    2. Когда вы будете готовы повторно активировать приложение логики, откройте меню приложения логики и выберите Включить.

      Enable your logic app

Удаление приложения логики

Удаление приложения логики влияет на экземпляры рабочих процессов следующим образом:

  • Azure Logic Apps пытается отменить все выполняющиеся и ожидающие выполнения операции.

    Даже при большом объеме или невыполненной работе большинство выполнений будут отменены до их завершения или запуска. Но процесс отмены может занять некоторое время. В то же время некоторые выполнения могут быть возобновлены, пока служба обрабатывает отмену.

  • Azure Logic Apps не будет создавать или выполнять новые экземпляры рабочего процесса.

  • Если удалить и повторно создать рабочий процесс, его метаданные будут отличаться от метаданных удаленного рабочего процесса. Необходимо заново сохранить любой рабочий процесс, вызвавший удаленный рабочий процесс. Так вызывающий объект получит правильные сведения о воссозданном рабочем процессе. В противном случае вызовы к повторно созданному рабочему процессу завершатся ошибкой Unauthorized. Такое поведение также применяется к рабочим процессам, использующим артефакты в учетных записях интеграции, и рабочим процессам, вызывающим функции Azure.

  1. Если вы еще не вошли в учетную запись Azure и подписку из Visual Studio Code, выполните предыдущие действия, чтобы войти.

  2. В окне Azure в разделе Logic Apps разверните подписку Azure, чтобы можно было просмотреть все приложения логики в этой подписке.

  3. Найдите требуемое приложение логики, откройте меню приложения логики и выберите Отключить.

    Delete your logic app

Следующие шаги