Руководство. Реагирование на события Служебная шина Azure, полученные через Сетка событий Azure с помощью Azure Logic Apps
Узнайте, как отвечать на события служебной шины Azure, получаемые через Сетку событий Azure с помощью Azure Logic Apps.
Необходимые компоненты
Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начать работу.
Создание пространства имен служебной шины
Следуйте инструкциям в этом руководстве. Краткое руководство. Использование портал Azure для создания раздела и подписок служебная шина в разделе для выполнения следующих задач:
- Создадите пространство имен служебной шины уровня Премиум.
- Получите строку подключения.
- Создадите раздел служебной шины.
- Создание подписки на раздел. В этом учебнике вам понадобится только одна подписка, поэтому создавать подписки S2 и S3 не нужно.
Отправка сообщений в раздел служебной шины
На этом шаге вы используете пример приложения для отправки сообщений в раздел служебной шины, созданный на предыдущем шаге.
Клонируйте репозиторий GitHub azure-service-bus или загрузите ZIP-файл и извлеките из него файлы.
В Visual Studio перейдите к папке \samples\DotNet\Azure.Messaging.ServiceBus\ServiceBusEventGridIntegrationV2 и откройте файл SBEventGridIntegration.sln.
В окне "Обозреватель решений" разверните проект MessageSender и выберите Program.cs.
Замените
<SERVICE BUS NAMESPACE - CONNECTION STRING>
строкой подключения к пространству имен служебной шины и<TOPIC NAME>
именем раздела.const string ServiceBusConnectionString = "<SERVICE BUS NAMESPACE - CONNECTION STRING>"; const string TopicName = "<TOPIC NAME>";
Создайте и запустите программу для отправки 5 тестовых сообщений (
const int numberOfMessages = 5;
) в раздел служебной шины.
Получение сообщений с помощью Logic Apps
На этом этапе вы создадите приложение логики Azure, которое получает события служебной шины через службу "Сетка событий Azure".
Щелкните + Создать ресурс, выберите Интеграция, а затем — Logic App.
На странице "Создание приложения логики" выполните следующие действия.
- Выберите свою подписку Azure.
- Щелкните Использовать существующую для группы ресурсов и выберите группу ресурсов, которая использовалась для других ресурсов (например, Функции Azure или пространство имен служебной шины), созданных ранее.
- Введите имя для приложения логики.
- Для приложения логики выберите Регион.
- Для типа плана выберите "Потребление".
- Выберите Review + Create (Просмотреть и создать).
- На странице Просмотр и создание выберите Создать, чтобы создать приложение логики.
На странице завершения развертывания выберите "Перейти к ресурсу", чтобы перейти на страницу приложения логики.
На странице Конструктор Logic Apps щелкните Пустое приложение логики в разделе Шаблоны.
Добавление шага для получения сообщений от служебной шины с помощью службы "Сетка событий"
На странице приложения логики выберите конструктор приложений логики в меню слева.
В области справа в разделе "Шаблоны" выберите пустое приложение логики.
В конструкторе сделайте следующее:
Введите Сетка событий для поиска.
Выберите При возникновении события ресурса — Сетка событий Azure.
Выберите Вход.
На странице входа на страницу учетной записи выберите учетную запись, которую вы хотите использовать для входа в Azure. 1.
На странице При возникновении события ресурса сделайте следующее:
Выберите свою подписку Azure.
Для параметра Тип ресурса выберите значение Microsoft.ServiceBus.Namespaces.
Для параметра Имя ресурса выберите пространство имен служебной шины.
Выберите Добавить новый параметр, щелкните Фильтр суффикса, а затем переместите фокус за пределы раскрывающегося списка.
В разделе Фильтр суффиксов укажите имя вашей подписки раздела служебной шины.
В конструкторе щелкните + Новый шаг и сделайте следующее:
Введите Служебная шина для поиска.
Выберите Служебная шина в списке.
Выберите Получить сообщения в списке Действия.
Выберите Получение сообщений из подписки раздела (с блокировкой при извлечении).
Выполните следующие действия:
Укажите имя подключения. Например: получение сообщений из подписки раздела.
Убедитесь, что для типа проверки подлинности задан ключ доступа.
Для строки Подключение ion скопируйте и вставьте строка подключения в пространство имен служебная шина, сохраненное ранее.
Нажмите кнопку создания.
Выберите раздел и подписку.
Добавление шага для обработки и завершения полученных сообщений
На этом шаге вы добавите шаги, чтобы отправить полученное сообщение в сообщении электронной почты, а затем завершить сообщение. В реальном сценарии вы обрабатываете сообщение в приложении логики перед завершением сообщения.
Добавление цикла foreach
Выберите + Новый шаг.
Найдите и выберите категорию Управление.
В списке Действия выберите For each.
Для параметра Выбрать выходные данные из предыдущих шагов (при необходимости щелкните внутри текстового поля) выберите значение Текст в разделе Получение сообщений из подписки раздела (с блокировкой при извлечении).
Добавление шага в цикл foreach для отправки сообщения электронной почты с текстом сообщения
В цикле For Each нажмите кнопку Добавить действие.
В текстовом поле Поиск соединителей и действий введите Office 365.
Выберите Office 365 Outlook в результатах поиска.
В списке действий выберите Отправить электронное письмо (V2).
Выберите вход и выполните действия, чтобы создать подключение к Office 365 Outlook.
В окне Отправка сообщения электронной почты (v2) выполните следующие действия.
Выберите Текст внутри текстового поля и выполните приведенные ниже действия.
В поле Кому введите адрес электронной почты.
В поле Тема введите Сообщение, полученное от подписки на раздел служебной шины.
Переключитесь на Выражение.
Введите следующее выражение:
base64ToString(items('For_each')?['ContentData'])
Нажмите ОК.
Добавление еще одного действия в цикл foreach для завершения сообщения
В цикле For Each нажмите кнопку Добавить действие.
Выберите Служебная шина в списке Последние.
Выберите Завершить сообщение в подписке раздела в списке действий.
Выберите раздел служебной шины.
Выберите подписку на раздел.
Для параметра Маркер блокировки сообщения выберите значение Маркер блокировки в списке Динамическое содержимое.
Выберите Сохранить на панели инструментов в конструкторе Logic Apps, чтобы сохранить приложение логики.
Тестирование приложения
Если вы еще не отправили тестовые сообщения в раздел, выполните инструкции по отправке сообщений в раздел служебной шины.
Переключитесь на страницу Обзор приложения логики и перейдите на вкладку Журнал выполнения в нижней области. Вы увидите, что приложение логики запускает сообщения, отправленные в раздел. Запуск приложения логики может занять несколько минут. Щелкните Обновить на панели инструментов, чтобы обновить страницу.
Выберите "Запуск приложения логики", чтобы просмотреть подробные сведения. Обратите внимание, что приложение обработало 5 сообщений в цикле.
Вы должны получить сообщение электронной почты для каждого сообщения, которое получает приложение логики.
Устранение неполадок
Если после ожидания и обновления вызовы не отображаются, выполните следующие действия:
Убедитесь, что сообщения отправлены в раздел Служебной шины. Взгляните на счетчик входящих сообщений на странице Раздел служебной шины. В этом случае я запустил приложение MessageSender один раз, поэтому я вижу 5 сообщений.
Убедитесь, что на странице "Подписка служебной шины" нет активных сообщений. Если на этой странице нет событий, убедитесь, что на странице Service Bus Subscription (Подписка служебной шины) не отображено число активных сообщений. Если там отображается число выше нуля, это значит, что сообщения в подписке по каким-то причинам не пересылаются в функцию обработчика (обработчик подписки на события). Убедитесь, что вы правильно настроили подписку на события.
Кроме того, на странице События в пространстве имен Cлужебной шины можно просмотреть доставленные события.
Вы также можете заметить, что события доставляются на страницу Подписка на событие. Чтобы перейти на эту страницу, выберите подписку на события на странице События.
Следующие шаги
- Дополнительные сведения о службе "Сетка событий" Azure см. здесь.
- Дополнительные сведения о решении "Функции Azure" см. здесь.
- Дополнительные сведения о компоненте Logic Apps службы приложений Azure см. здесь.
- Дополнительные сведения о служебной шине Azure.