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

Узнайте, как отвечать на события служебной шины Azure, получаемые через Сетку событий Azure с помощью Azure Logic Apps.

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

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

Создание пространства имен служебной шины

Следуйте инструкциям в этом руководстве. Краткое руководство. Использование портал Azure для создания раздела и подписок служебная шина в разделе для выполнения следующих задач:

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

Отправка сообщений в раздел служебной шины

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

  1. Клонируйте репозиторий GitHub azure-service-bus или загрузите ZIP-файл и извлеките из него файлы.

  2. В Visual Studio перейдите к папке \samples\DotNet\Azure.Messaging.ServiceBus\ServiceBusEventGridIntegrationV2 и откройте файл SBEventGridIntegration.sln.

  3. В окне "Обозреватель решений" разверните проект MessageSender и выберите Program.cs.

  4. Замените <SERVICE BUS NAMESPACE - CONNECTION STRING> строкой подключения к пространству имен служебной шины и <TOPIC NAME> именем раздела.

    const string ServiceBusConnectionString = "<SERVICE BUS NAMESPACE - CONNECTION STRING>";
    const string TopicName = "<TOPIC NAME>";
    
  5. Создайте и запустите программу для отправки 5 тестовых сообщений (const int numberOfMessages = 5;) в раздел служебной шины.

    Выходные данные приложения в консоли

Получение сообщений с помощью Logic Apps

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

  1. Щелкните + Создать ресурс, выберите Интеграция, а затем — Logic App.

    Снимок экрана: меню

  2. На странице "Создание приложения логики" выполните следующие действия.

    1. Выберите свою подписку Azure.
    2. Щелкните Использовать существующую для группы ресурсов и выберите группу ресурсов, которая использовалась для других ресурсов (например, Функции Azure или пространство имен служебной шины), созданных ранее.
    3. Введите имя для приложения логики.
    4. Для приложения логики выберите Регион.
    5. Для типа плана выберите "Потребление".
    6. Выберите Review + Create (Просмотреть и создать). Снимок экрана: страница
    7. На странице Просмотр и создание выберите Создать, чтобы создать приложение логики.
  3. На странице завершения развертывания выберите "Перейти к ресурсу", чтобы перейти на страницу приложения логики.

  4. На странице Конструктор Logic Apps щелкните Пустое приложение логики в разделе Шаблоны.

Добавление шага для получения сообщений от служебной шины с помощью службы "Сетка событий"

  1. На странице приложения логики выберите конструктор приложений логики в меню слева.

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

    Снимок экрана: страница конструктора приложений логики с выбранным параметром

  3. В конструкторе сделайте следующее:

    1. Введите Сетка событий для поиска.

    2. Выберите При возникновении события ресурса — Сетка событий Azure.

      Снимок экрана: конструктор Logic Apps с выбранным триггером сетки событий.

  4. Выберите Вход.

    Снимок экрана: конструктор Logic Apps с выбранной кнопкой входа.

  5. На странице входа на страницу учетной записи выберите учетную запись, которую вы хотите использовать для входа в Azure. 1.

  6. На странице При возникновении события ресурса сделайте следующее:

    1. Выберите свою подписку Azure.

    2. Для параметра Тип ресурса выберите значение Microsoft.ServiceBus.Namespaces.

    3. Для параметра Имя ресурса выберите пространство имен служебной шины.

    4. Выберите Добавить новый параметр, щелкните Фильтр суффикса, а затем переместите фокус за пределы раскрывающегося списка.

      Снимок экрана: добавление нового параметра фильтра Суффикса типа.

    5. В разделе Фильтр суффиксов укажите имя вашей подписки раздела служебной шины.

      Снимок экрана: конструктор Logic Apps с конфигурацией подключения для пространства имен служебная шина.

  7. В конструкторе щелкните + Новый шаг и сделайте следующее:

    1. Введите Служебная шина для поиска.

    2. Выберите Служебная шина в списке.

      Снимок экрана: выбор служебная шина.

    3. Выберите Получить сообщения в списке Действия.

    4. Выберите Получение сообщений из подписки раздела (с блокировкой при извлечении).

      Снимок экрана: конструктор Logic Apps с выбранным элементом получения сообщений из выбранной подписки раздела.

    5. Выполните следующие действия:

      1. Укажите имя подключения. Например: получение сообщений из подписки раздела.

      2. Убедитесь, что для типа проверки подлинности задан ключ доступа.

      3. Для строки Подключение ion скопируйте и вставьте строка подключения в пространство имен служебная шина, сохраненное ранее.

      4. Нажмите кнопку создания.

        Снимок экрана: конструктор Logic Apps с указанным служебная шина строка подключения.

    6. Выберите раздел и подписку.

      Снимок экрана: конструктор Logic Apps с указанным разделом служебная шина и подпиской.

Добавление шага для обработки и завершения полученных сообщений

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

Добавление цикла foreach

  1. Выберите + Новый шаг.

  2. Найдите и выберите категорию Управление.

    Снимок экрана: категория

  3. В списке Действия выберите For each.

    Снимок экрана: выбранная операция For-each.

  4. Для параметра Выбрать выходные данные из предыдущих шагов (при необходимости щелкните внутри текстового поля) выберите значение Текст в разделе Получение сообщений из подписки раздела (с блокировкой при извлечении).

    Снимок экрана: выбор для каждого входного ввода.

Добавление шага в цикл foreach для отправки сообщения электронной почты с текстом сообщения

  1. В цикле For Each нажмите кнопку Добавить действие.

    Снимок экрана: выбор кнопки

  2. В текстовом поле Поиск соединителей и действий введите Office 365.

  3. Выберите Office 365 Outlook в результатах поиска.

    Снимок экрана: выбор Office 365.

  4. В списке действий выберите Отправить электронное письмо (V2).

    Снимок экрана: выбор операции отправки электронной почты.

  5. Выберите вход и выполните действия, чтобы создать подключение к Office 365 Outlook.

  6. В окне Отправка сообщения электронной почты (v2) выполните следующие действия.

  7. Выберите Текст внутри текстового поля и выполните приведенные ниже действия.

    1. В поле Кому введите адрес электронной почты.

    2. В поле Тема введите Сообщение, полученное от подписки на раздел служебной шины.

    3. Переключитесь на Выражение.

    4. Введите следующее выражение:

      base64ToString(items('For_each')?['ContentData'])
      
    5. Нажмите ОК.

      Снимок экрана: выражение для действия отправки сообщения электронной почты.

Добавление еще одного действия в цикл foreach для завершения сообщения

  1. В цикле For Each нажмите кнопку Добавить действие.

    1. Выберите Служебная шина в списке Последние.

    2. Выберите Завершить сообщение в подписке раздела в списке действий.

      Снимок экрана: выбор сообщения в подписке раздела.

    3. Выберите раздел служебной шины.

    4. Выберите подписку на раздел.

    5. Для параметра Маркер блокировки сообщения выберите значение Маркер блокировки в списке Динамическое содержимое.

      Снимок экрана: поле маркера блокировки.

  2. Выберите Сохранить на панели инструментов в конструкторе Logic Apps, чтобы сохранить приложение логики.

    Снимок экрана: кнопка

Тестирование приложения

  1. Если вы еще не отправили тестовые сообщения в раздел, выполните инструкции по отправке сообщений в раздел служебной шины.

  2. Переключитесь на страницу Обзор приложения логики и перейдите на вкладку Журнал выполнения в нижней области. Вы увидите, что приложение логики запускает сообщения, отправленные в раздел. Запуск приложения логики может занять несколько минут. Щелкните Обновить на панели инструментов, чтобы обновить страницу.

    Снимок экрана: журнал выполнения приложения логики.

  3. Выберите "Запуск приложения логики", чтобы просмотреть подробные сведения. Обратите внимание, что приложение обработало 5 сообщений в цикле.

    Снимок экрана: сведения о выбранном запуске приложения логики.

  4. Вы должны получить сообщение электронной почты для каждого сообщения, которое получает приложение логики.

    Снимок экрана: Outlook с сообщениями, полученными из подписки тем.

Устранение неполадок

Если после ожидания и обновления вызовы не отображаются, выполните следующие действия:

  1. Убедитесь, что сообщения отправлены в раздел Служебной шины. Взгляните на счетчик входящих сообщений на странице Раздел служебной шины. В этом случае я запустил приложение MessageSender один раз, поэтому я вижу 5 сообщений.

    Снимок экрана: страница служебная шина раздела с выбранным числом входящих сообщений.

  2. Убедитесь, что на странице "Подписка служебной шины" нет активных сообщений. Если на этой странице нет событий, убедитесь, что на странице Service Bus Subscription (Подписка служебной шины) не отображено число активных сообщений. Если там отображается число выше нуля, это значит, что сообщения в подписке по каким-то причинам не пересылаются в функцию обработчика (обработчик подписки на события). Убедитесь, что вы правильно настроили подписку на события.

    Снимок экрана: страница служебная шина подписки с выбранным активным числом сообщений.

  3. Кроме того, на странице События в пространстве имен Cлужебной шины можно просмотреть доставленные события.

    Снимок экрана: страница

  4. Вы также можете заметить, что события доставляются на страницу Подписка на событие. Чтобы перейти на эту страницу, выберите подписку на события на странице События.

    Снимок экрана: страница

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

  • Дополнительные сведения о службе "Сетка событий" Azure см. здесь.
  • Дополнительные сведения о решении "Функции Azure" см. здесь.
  • Дополнительные сведения о компоненте Logic Apps службы приложений Azure см. здесь.
  • Дополнительные сведения о служебной шине Azure.