Учебник. Отправка уведомлений электронной почты о событиях в Центре Интернета вещей Azure с помощью Сетки событий и Logic Apps
Сетка событий Azure позволяет реагировать на события в Центре Интернета вещей путем запуска действий в подчиненных бизнес-приложениях.
В этой статье рассматривается пример конфигурации, в котором используется Центр Интернета вещей и Сетка событий. По завершении работы с этим учебником у вас будет приложение логики Azure, настроенное на отправку уведомлений электронной почты при каждом подключении устройства к центру Интернета вещей или отключении от него. Сетку событий можно использовать для своевременного получения уведомлений о том, что критические устройства отключаются. Отображение метрик и диагностики в журналах или оповещениях может занять несколько минут (например, 20 минут или более). Длительное время обработки может оказаться неприемлемым для критической инфраструктуры.
Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начинать работу.
Необходимые компоненты
- Учетная запись электронной почты любого поставщика услуг электронной почты, поддерживаемого Azure Logic Apps, например Office 365 Outlook или Outlook.com. Такая учетная запись используется для отправки уведомлений о событиях.
Используйте среду Bash в Azure Cloud Shell. Дополнительные сведения см . в кратком руководстве по Bash в Azure Cloud Shell.
Если вы предпочитаете выполнять справочные команды CLI локально, установите Azure CLI. Если вы работаете в Windows или macOS, Azure CLI можно запустить в контейнере Docker. Дополнительные сведения см. в статье Как запустить Azure CLI в контейнере Docker.
Если вы используете локальную установку, выполните вход в Azure CLI с помощью команды az login. Чтобы выполнить аутентификацию, следуйте инструкциям в окне терминала. Сведения о других возможностях, доступных при входе, см. в статье Вход с помощью Azure CLI.
Установите расширение Azure CLI при первом использовании, когда появится соответствующий запрос. Дополнительные сведения о расширениях см. в статье Использование расширений с Azure CLI.
Выполните команду az version, чтобы узнать установленную версию и зависимые библиотеки. Чтобы обновиться до последней версии, выполните команду az upgrade.
Создание Центра Интернета вещей
Вы можете быстро создать центр Интернета вещей с помощью терминала Azure Cloud Shell на портале.
Войдите на портал Azure.
В правом верхнем углу страницы нажмите кнопку Cloud Shell.
Выполните следующую команду, чтобы создать новую группу ресурсов:
az group create --name {your resource group name} --location westus
Выполните следующую команду, чтобы создать центр Интернета вещей:
az iot hub create --name {your iot hub name} --resource-group {your resource group name} --sku S1
Сверните терминал Cloud Shell. Вы вернетесь к оболочке позже при прохождении этого учебника.
Создание приложения логики
Затем создайте приложение логики и добавьте триггер сетки событий HTTP, который обрабатывает запросы из центра Интернета вещей.
Создание ресурса приложения логики
На портале Azure выберите Создать ресурс, а затем в поле поиска введите "приложение логики" и нажмите клавишу ВВОД. Выберите Приложение логикив списке результатов.
На следующем экране выберите Создать.
Присвойте уникальное в вашей подписке имя приложению логики и выберите ту же подписку, группу ресурсов и расположение, которые используются для Центра Интернета вещей. Выберите тип плана Потребление.
Выберите Review + create (Просмотреть и создать).
Проверьте параметры и нажмите кнопку Создать.
Создав новый ресурс, выберите Перейти к ресурсу.
В конструкторе Logic Apps прокрутите страницу вниз до раздела Шаблоны. Выберите Пустое приложение логики. Это позволит создать приложение логики с нуля.
Выбор триггера
Триггер представляет собой определенное событие, которое запускает приложение логики. В этом руководстве триггер, который инициирует рабочий процесс, получает запрос через HTTP.
На панели поиска триггеров и соединителей введите HTTP.
Прокрутите результаты и выберите в качестве триггера вариант Запрос — при получении HTTP-запроса.
Выберите Использовать пример полезных данных для создания ссылки на схему.
Скопируйте
json
и замените значения заполнителей<>
собственными значениями.Вставьте в текстовое поле JSON-файл схемы события подключения устройства, а затем нажмите Готово.
[{ "id": "f6bbf8f4-d365-520d-a878-17bf7238abd8", "topic": "/SUBSCRIPTIONS/<azure subscription ID>/RESOURCEGROUPS/<resource group name>/PROVIDERS/MICROSOFT.DEVICES/IOTHUBS/<hub name>", "subject": "devices/LogicAppTestDevice", "eventType": "Microsoft.Devices.DeviceConnected", "eventTime": "2018-06-02T19:17:44.4383997Z", "data": { "deviceConnectionStateEventInfo": { "sequenceNumber": "000000000000000001D4132452F67CE200000002000000000000000000000001" }, "hubName": "<hub name>", "deviceId": "LogicAppTestDevice", "moduleId" : "DeviceModuleID" }, "dataVersion": "1", "metadataVersion": "1" }]
Важно!
Не забудьте вставить фрагмент JSON в поле, предоставленное по ссылке Использование примера полезных данных для создания схемы, а не в поле Схеме JSON текста запроса. Ссылка на использование примера полезных данных позволяет создать содержимое JSON на основе фрагмента JSON. Окончательный код JSON, который в конечном итоге находится в тексте запроса, отличается от фрагмента JSON.
Это событие публикуется при подключении устройства к центру Интернета вещей.
Примечание.
Вы можете получить всплывающее уведомление с текстом: Не забудьте включить заголовок Content-Type со значением application/json в запросе. Вы можете спокойно проигнорировать это сообщение и перейти к следующему разделу.
Создание действия
Действия представляют собой любые шаги, которые выполняются после запуска триггером рабочего процесса приложения логики. В этом руководстве действием является отправка уведомления электронной почты с помощью поставщика электронной почты.
Выберите Создать шаг. Откроется окно с предложением выбрать действие.
Найдите Outlook.
Найдите и выберите соединитель, соответствующий поставщику услуг электронной почты. В этом руководстве используется Outlook.com. Шаги для других поставщиков услуг электронной почты схожи. Кроме того, используйте Office 365 Outlook, чтобы пропустить шаг входа.
Выберите действие Отправить сообщение электронной почты (V2).
Выберите Войти и войдите в свою учетную запись электронной почты. Выберите Да, чтобы разрешить приложению доступ к вашим сведениям.
Создайте шаблон сообщения электронной почты.
Кому: введите адрес электронной почты для получения электронных уведомлений. В этом уроке используйте учетную запись электронной почты, к которой у вас есть доступ для тестирования.
Тема: заполните текст темы. Если щелкнуть текстовое поле "Тема", можно выбрать динамическое содержимое для включения. Например, в этом учебнике используется
IoT Hub alert: {eventType}
. Если представление Динамическое содержимое не отображается, выберите гиперссылку Добавить динамическое содержимое, чтобы включить или отключить представление Динамическое содержимое.
После выбора
eventType
отобразятся выходные данные формы электронной почты. Нажмите Отправить и отправить по эл. почте (V2), чтобы изменить текст сообщения.- Текст: напишите текст сообщения электронной почты. Выберите свойства JSON в средстве выбора, чтобы включить динамическое содержимое на основе данных событий. Если динамическое содержимое не отображается, нажмите гиперссылку Добавить динамическое содержимое ниже поля Текст. Если нужные поля не отображаются, нажмите кнопку Дополнительно на экране динамического содержимого, чтобы включить поля из предыдущего действия.
Ваш шаблон электронной почты может выглядеть следующим образом:
В конструкторе Logic Apps выберите Сохранить.
Копирование URL-адреса HTTP
Скопируйте для триггера URL-адрес, с которого приложение логики ожидает передачи данных, а затем закройте конструктор Logic Apps. Этот URL-адрес вы используете для настройки сетки событий.
Щелкните поле конфигурации триггера При получении HTTP-запроса, чтобы развернуть его.
Скопируйте значение URL-адрес HTTP POST, нажав кнопку копирования рядом с этим параметром.
Сохраните этот URL-адрес, чтобы использовать его в следующем разделе.
Настройка подписки на события Центра Интернета вещей
В этом разделе вы настроите Центр Интернета вещей для публикации событий по мере их появления.
Найдите нужный Центр Интернета вещей на портале Azure. Центр Интернета вещей можно найти, выбрав пункт Центр Интернета вещей на панели мониторинга Azure, а затем выберите экземпляр Центра Интернета вещей из списка ресурсов.
Выберите События.
Выберите Подписка на события.
Создайте подписку на события со следующими значениями:
В разделе СВЕДЕНИЯ О ПОДПИСКЕ НА СОБЫТИЯ:
- Укажите имя подписки на события.
- Для пункта Схема событий выберите Схема сетки событий.
В разделе СВЕДЕНИЯ О РАЗДЕЛЕ:
- Убедитесь, что для типа раздела задано значение Центр Интернета вещей.
- Убедитесь, что имя центра Интернета вещей задано в качестве значения поля Исходный ресурс.
- Введите имя системного раздела, который будет создан. См. общие сведения о системных разделах.
В разделе ТИПЫ СОБЫТИЙ:
Выберите раскрывающийся список Filter to Event Types (Фильтровать по типам событий).
Снимите флажки Устройство создано и Устройство удалено, в результате чего установленными останутся только флажки Устройство подключено и Устройство отключено.
В разделе СВЕДЕНИЯ О КОНЕЧНОЙ ТОЧКЕ:
- Выберите веб-перехватчик в качестве типа конечной точки.
- Нажмите Выбрать конечную точку, вставьте URL-адрес, скопированный из приложения логики, и подтвердите выбор.
Когда все будет готово, область должна выглядеть, как на примере ниже.
Выберите Создать.
Имитация подключения нового устройства и отправки с него телеметрии
Протестируйте приложение логики, быстро сымитировав подключение устройства с помощью Azure CLI.
Нажмите кнопку Cloud Shell, чтобы снова открыть терминал.
Выполните приведенную ниже команду, чтобы создать удостоверение имитированного устройства:
az iot hub device-identity create --device-id simDevice --hub-name {YourIoTHubName}
Обработка может занять минуту. После создания в консоли отобразится сообщение JSON.
Выполните следующую команду, чтобы имитировать подключение устройства к Центру Интернета вещей и отправку данных телеметрии:
az iot device simulate -d simDevice -n {YourIoTHubName}
При подключении имитированного устройства к Центру Интернета вещей вы получите сообщение электронной почты с уведомлением о событии "DeviceConnected".
После завершения имитации вы получите сообщение электронной почты с уведомлением о событии "DeviceDisconnected".
Очистка ресурсов
В этом руководстве используются ресурсы, за которые в подписке Azure предусмотрена плата. По завершении работы с этим учебником и тестирования результатов отключите или удалите ресурсы, которые больше не нужны.
Чтобы удалить все ресурсы, которые были созданы в этом учебнике, удалите группу ресурсов.
Выберите Группы ресурсов, а затем созданную для этого учебника группу ресурсов.
На панели группы ресурсов выберите Удалить группу ресурсов. Вам будет предложено ввести имя группы ресурсов, после чего его можно будет удалить. Все содержащиеся там ресурсы также будут удалены.
Следующие шаги
- Узнайте больше о реагировании на события в Центре Интернета вещей, используя службу "Cетка событий" для запуска действий.
- См. дополнительные сведения об упорядочении событий подключения и отключения устройств.
- Узнайте о дополнительных возможностях службы Сетка событий.
Полный список поддерживаемых соединителей для приложения логики см. в статье