Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом руководстве описано, как реагировать на события служебной шины Azure, полученные с помощью Службы "Сетка событий Azure" с помощью Azure Logic Apps.
Предпосылки
Если у вас еще нет подписки Azure, создайте бесплатную учетную запись перед началом работы.
Замечание
Интеграция Сетки событий с служебной шиной Azure не поддерживает все режимы приема и сценарии. В частности, поведение Peek-Lock и шаблоны обработки сообщений могут отличаться от триггеров шины обслуживания. Если рабочий процесс требует Peek-Lock семантики или расширенного элемента управления расчетами, используйте собственный триггер служебной шины или приемник вместо сетки событий. Убедитесь, что ваша тема и подписка настроены для совместимости сетки событий перед использованием этого примера.
Создайте пространство имен сервисной шины
Следуйте инструкциям в этом руководстве. Краткое руководство. Использование портал 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>";Создайте и запустите программу, чтобы отправить пять тестовых сообщений (
const int numberOfMessages = 5;) в раздел служебной шины.
Получение сообщений с помощью Logic Apps
В этом разделе создайте приложение логики Azure, которое получает события служебной шины с помощью службы "Сетка событий Azure".
Нажмите кнопку "+ Создать ресурс", выберите "Интеграция" и выберите "Приложение логики".
На странице "Создание приложения логики" выполните следующие действия.
Выберите параметр "Многотенантное> и нажмите кнопку "Выбрать".
Выберите подписку Azure.
Введите группу ресурсов. Выберите группу ресурсов, используемую для других ресурсов, например пространство имен служебной шины, созданное ранее.
Введите имя приложения логики.
Выберите регион для приложения логики.
Выберите Review + Create.
На странице "Просмотр и создание" выберите "Создать", чтобы создать логическое приложение.
На странице завершения развертывания выберите "Перейти к ресурсу ", чтобы перейти на страницу приложения логики .
Добавление шага получения сообщений из служебной шины с помощью сетки событий
Разверните средства разработки и выберите шаблоны для логических приложений.
Выберите пустой рабочий процесс. Откроется конструктор приложений логики .
В конструкторе выполните следующие действия.
Выберите " Добавить триггер" и найдите сетку событий.
Выберите При возникновении события ресурса.
Выберите Вход.
На странице входа на страницу учетной записи выберите учетную запись, которую вы хотите использовать для входа в Azure.
На странице "Когда происходит событие ресурса ", выполните следующие действия.
Для типа ресурса выберите Microsoft.ServiceBus.Namespaces.
Выберите подписку Azure.
Для Resource Name выберите пространство имен Service Bus.
В разделе "Дополнительные параметры" выберите стрелку вниз.
Выберите Суффиксный фильтр, затем переместите фокус за пределы раскрывающегося списка.
В поле "фильтр суффикса" введите имя подписки на тему Service Bus.
+ Выберите знак, а затем нажмите кнопку "Добавить действие".
Искать Service Bus.
Выберите "Дополнительные сведения", а затем выберите "Получить сообщения из подписки по теме (peek-lock)".
Выполните следующие действия.
Введите имя для подключения. Например: получение сообщений из подписки топика.
Убедитесь, что для типа проверки подлинности задан ключ доступа.
Для строки подключения скопируйте и вставьте строку подключения в пространство имен служебной шины, сохраненное ранее.
Выберите Создать новое.
Выберите раздел и подписку.
Добавление шага для обработки и завершения полученных сообщений
В этом разделе описано, как отправить полученное сообщение в сообщении электронной почты, а затем завершить сообщение. В реальном сценарии вы обрабатываете сообщение в приложении логики перед завершением сообщения.
Добавление цикла foreach
+ Выберите знак, а затем нажмите кнопку "Добавить действие".
Найдите и выберите «Для каждого».
Для выбора выходных данных из предыдущих шагов выберите молнию или введите / и выберите "Вставить динамическое содержимое".
Выберите Тело в разделе Получение сообщений из подписки на тему (peek-lock).
Добавьте шаг внутри цикла foreach для отправки электронного письма с текстом в теле сообщения
В цикле "Для каждого" выберите +,а затем нажмите кнопку "Добавить действие".
Найдите Office 365 и нажмите кнопку "Дополнительные сведения".
Выберите Office 365 Outlook в результатах поиска.
В списке действий выберите "Отправить сообщение электронной почты( версия 2)".
Выберите вход и выполните действия, чтобы создать подключение к Office 365 Outlook.
В окне "Отправить сообщение электронной почты( версия 2) выполните следующие действия:
Выберите внутри текстового поля для Основного текста и выполните следующие действия:
Для Кому, введите адрес электронной почты.
Для темы введите сообщение, полученное из подписки темы служебной шины.
В тексте выберите выражение или введите / и выберите "Вставить выражение".
Введите следующее выражение:
base64ToString(items('For_each')?['ContentData'])Нажмите кнопку "Добавить".
Добавление другого действия в цикле foreach для завершения сообщения
В цикле "Для каждого" выберите +,а затем нажмите кнопку "Добавить действие".
Искать Service Bus.
Выберите "Завершить сообщение в подписке на тему" из списка действий.
Выберите раздел служебной шины.
Выберите подписку на раздел.
В маркере блокировки сообщения выберите выражение или введите / и выберите "Вставить выражение".
Выберите динамическое содержимое и выберите маркер блокировки. Нажмите кнопку "Добавить".
Нажмите кнопку "Сохранить " на панели инструментов конструктора Logic Apps, чтобы сохранить приложение логики.
Тестирование приложения
Если вы еще не отправили тестовые сообщения в раздел, следуйте инструкциям в разделе " Отправка сообщений в раздел служебной шины ", чтобы отправить сообщения в раздел.
Перейдите на страницу обзора приложения логики. Затем откройте вкладку "Журнал выполнения" в нижней области. Вы увидите, что приложение логики запускает сообщения, отправленные в раздел. Это может занять несколько минут, прежде чем вы увидите запуск логического приложения. Выберите "Обновить" на панели инструментов, чтобы обновить страницу.
Выберите приложение логики для просмотра сведений. Обратите внимание, что он обработал пять сообщений в цикле for.
Вы должны получить сообщение электронной почты для каждого сообщения, которое получает приложение логики.
Устранение неполадок
Если вы не видите никаких вызовов после ожидания и обновления в течение некоторого времени, выполните следующие действия.
Убедитесь, что сообщения отправлены в раздел Служебной шины. Взгляните на счетчик входящих сообщений на странице Раздел служебной шины. В этом случае приложение MessageSender запускается один раз, поэтому есть 5 сообщений.
Убедитесь, что в подписке Service Bus нет активных сообщений.
Если на этой странице нет событий, убедитесь, что на странице Service Bus Subscription (Подписка служебной шины) не отображено число активных сообщений. Если там отображается число выше нуля, это значит, что сообщения в подписке по каким-то причинам не пересылаются в функцию обработчика (обработчик подписки на события). Убедитесь, что вы правильно настроили подписку на события.
Кроме того, на странице События в пространстве имен Cлужебной шины можно просмотреть доставленные события.
Вы также можете заметить, что события доставляются на страницу Подписка на событие. Чтобы перейти на эту страницу, выберите подписку на события на странице События.
Связанный контент
- Дополнительные сведения о службе "Сетка событий" Azure см. здесь.
- Дополнительные сведения о решении "Функции Azure" см. здесь.
- Дополнительные сведения о функции Logic Apps службы приложений Azure.
- Дополнительные сведения о служебной шине Azure.