Руководство. Мониторинг устройств Интернета вещей и отправка уведомлений с помощью Azure Logic Apps

Используйте Azure Logic Apps, чтобы отслеживать входящие данные телеметрии устройств из Центр Интернета вещей и отправлять уведомления при активации оповещений.

End-to-end diagram

Azure Logic Apps помогает управлять рабочими процессами между локальными и облачными службами, несколькими предприятиями и различными протоколами. Приложение логики начинается с триггера, за которым следует одно или несколько действий, которые можно упорядочить с помощью встроенных элементов управления, таких как условия и итераторы. Эта гибкость делает Logic Apps идеальным решением IoT для сценариев мониторинга IoT. Например, при поступлении данных с устройства на конечную точку Центр Интернета вещей можно инициировать рабочие процессы приложения логики для хранения данных в большом двоичном объекте служба хранилища Azure, отправлять оповещения электронной почты, чтобы предупредить об аномалиях данных, запланировать посещение технического специалиста, если устройство сообщает об ошибке и т. д.

Вот какие шаги выполняются в этом руководстве:

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

Клиентский код, запущенный на вашем устройстве, устанавливает свойство temperatureAlert приложения для каждого сообщения телеметрии, которое оно отправляет в ваш Центр Интернета вещей. Если клиентский код обнаруживает температуру выше заданного порогового значения, он задает для этого свойства значение; в противном случае оно задает для свойства trueзначение false.

Сообщения, поступающие в Центр Интернета вещей, выглядят следующим образом: данные телеметрии, содержащиеся в тексте, и temperatureAlert свойство, содержащееся в свойствах приложения (системные свойства не отображаются):

{
  "body": {
    "messageId": 18,
    "deviceId": "Raspberry Pi Web Client",
    "temperature": 27.796111770668457,
    "humidity": 66.77637926438427
  },
  "applicationProperties": {
    "temperatureAlert": "false"
  }
}

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

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

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

  • Активная подписка Azure.

  • Центр Интернета вещей в подписке.

  • Клиентское приложение, которое отправляет данные температуры в Центр Интернета вещей Azure. В этом руководстве фильтруются сообщения устройства в облако на основе свойства temperatureAlertсообщения. Ниже приведены примеры, которые создают сообщения с этим свойством:

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

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

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

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

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

  3. На панели Создать пространство имен укажите следующую информацию:

    Параметр Значение
    Подписка Выберите ту же подписку, которая содержит центр Интернета вещей.
    Группа ресурсов Выберите ту же группу ресурсов, которая содержит центр Интернета вещей.
    Имя пространства имен Укажите имя пространства имен служебной шины. Пространство имен должно быть уникальным в Azure.
    Местонахождение Выберите то же расположение, которое использует центр Интернета вещей.
    Ценовая категория Выберите "Базовый" из раскрывающегося списка. Базового уровня для данного учебника достаточно.
  4. Выберите Review + create (Просмотреть и создать).

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

  6. Дождитесь завершения развертывания, а затем выберите "Перейти к ресурсу".

Добавить очередь служебной шины в пространство имен

  1. На странице обзора пространства имен служебная шина выберите очередь.

    Screenshot of the namespace overview page to add a queue.

  2. В поле "Имя" укажите имя очереди. Примите значения по умолчанию для других полей и нажмите кнопку "Создать".

  3. В пространстве имен служебная шина выберите политики общего доступа в разделе Параметры меню ресурсов.

  4. Выберите политику RootManageSharedAccessKey, чтобы открыть сведения.

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

Добавление конечной точки и правила маршрутизации в Центр Интернета вещей

Добавьте пользовательскую конечную точку для очереди служебная шина в Центр Интернета вещей. Затем создайте правило маршрутизации сообщений для прямых сообщений, содержащих оповещение о температуре в этой конечной точке, где они собираются приложением логики. Правило маршрутизации использует запрос маршрутизации temperatureAlert = "true" для пересылки сообщений на основе значения свойства приложения temperatureAlert, установленного клиентским кодом, запущенным на устройстве. Дополнительные сведения см. в разделе Запрос маршрутизации сообщений на основе свойств сообщения.

Добавление пользовательской конечной точки и маршрута

  1. Найдите нужный Центр Интернета вещей на портале Azure.

  2. В меню ресурсов в разделе "Параметры Центра" выберите маршрутизацию сообщений и нажмите кнопку "Добавить".

    Screenshot that shows location of the Add button, to add a new route in your IoT hub.

  3. На вкладке "Конечная точка" создайте конечную точку для очереди служебная шина, указав следующие сведения:

    Параметр Значение
    Тип конечной точки Выберите очередь служебная шина.
    Имя конечной точки Укажите имя новой конечной точки, которая сопоставляется с очередью служебная шина.
    пространство имен служебная шина В раскрывающемся меню выберите пространство имен служебная шина, созданное в предыдущем разделе.
    очередь служебной шины Azure Используйте раскрывающееся меню, чтобы выбрать очередь служебная шина, созданную в пространстве имен.

    Screenshot that shows how to create a service bus queue endpoint for your route.

  4. Нажмите кнопку "Создать+ далее".

  5. На вкладке "Маршрут" введите следующие сведения, чтобы создать маршрут, указывающий на конечную точку очереди служебная шина:

    Параметр Значение
    Имя Укажите уникальное имя маршрута.
    Источник данных Сохраните источник данных сообщения телеметрии устройства по умолчанию.
    Маршрутизация запроса Введите temperatureAlert = "true" как строку запроса.

    Screenshot that shows adding a route with a query.

  6. Выберите "Создать и пропустить обогащения".

Настройка Logic Apps для уведомлений

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

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

  1. В портал Azure найдите и выберите Logic Apps.

  2. Нажмите кнопку "Добавить ", чтобы создать новое приложение логики.

  3. Введите следующие сведения на вкладке "Основы" приложения логики:

    Параметр Значение
    Группа ресурсов Выберите группу ресурсов, которая содержит Центр Интернета вещей.
    Имя Укажите имя приложения логики.
    Регион Выберите расположение рядом с вами.
    Тип плана Выберите "Потребление", достаточное для этого руководства.

    Screenshot that shows creating a logic app in the Azure portal.

  4. Выберите Review + create (Просмотреть и создать).

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

  6. После завершения развертывания выберите "Перейти к ресурсу ", чтобы открыть приложение логики.

Настройте триггер приложения логики

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

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

    Screenshot that shows selecting the Blank Logic App template.

  3. Перейдите на вкладку "Все", чтобы отобразить все соединители и триггеры, а затем выберите служебная шина.

    Select Service Bus to start creating your logic app in the Azure portal.

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

    Select the trigger for your logic app in the Azure portal.

  5. Создайте подключение к служебной шине.

    1. Укажите имя Подключение ion и вставьте строку Подключение ion, скопированную из пространства имен служебная шина.

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

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

      Screenshot that shows configuring queue settings in the Logic app designer.

  6. Выберите " Сохранить " в меню конструктора приложений логики, чтобы сохранить изменения.

Настроить действие приложения логики

  1. Выберите новый шаг в конструкторе приложений логики.

  2. Создайте подключение к службе SMTP.

    1. Найдите и выберите SMTP.

      Screenshot that shows selecting an SMTP connection in the logic app designer.

    2. Выберите " Отправить сообщение электронной почты" (версия 3) в качестве действия для этого шага.

    3. Укажите имя Подключение ion, а затем заполните остальные поля данными SMTP для учетной записи электронной почты, которую вы хотите использовать для отправки уведомлений.

      Используйте следующие ссылки, чтобы найти данные SMTP в зависимости от поставщика почты:

      Примечание.

      Вам может потребоваться отключить TLS/SSL, чтобы установить соединение. Если это так и вы хотите снова включить TLS после установления соединения, см. необязательный шаг в конце этого раздела.

      Screenshot that shows configuring the SMTP connection settings in the logic app designer.

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

  3. Настройте действие отправки электронной почты .

    1. В раскрывающемся списке "Добавить новый параметр " на шаге "Отправить сообщение электронной почты" выберите следующие параметры:

      • From
      • Кому
      • Тема
      • Текст

      Щелкните или коснитесь в любом месте экрана, чтобы закрыть поле выбора.

      Choose SMTP connection email fields to include in email.

    2. Введите следующие сведения для параметров электронной почты, выбранных на предыдущем шаге:

      Параметр Значение
      From Адрес электронной почты, настроенный для ПОДКЛЮЧЕНИЯ SMTP.
      Кому Адрес электронной почты или адреса, в которых вы хотите отправлять уведомления.
      Тема High temperature detected.
      Текст High temperature detected.

      Если откроется диалоговое окно "Добавление динамического содержимого", нажмите кнопку "Скрыть", чтобы закрыть ее. В этом руководстве не используется динамическое содержимое.

      Provide details for SMTP connection email fields.

  4. Нажмите кнопку Сохранить, чтобы сохранить SMTP-соединение.

  5. (Необязательно) Если вам пришлось отключить TLS, чтобы установить соединение с вашим провайдером электронной почты, и вы хотите снова включить его, выполните следующие действия:

    1. В меню Приложения логики в разделе Средства разработкиПодключения API.

    2. В списке подключений API выберите SMTP-подключение.

    3. В области Подключение API SMTP в разделе Общие выберите Изменить подключение API.

    4. В области "Изменить API Подключение ion" выберите "Включить SSL?", повторно введите пароль для учетной записи электронной почты и нажмите кнопку "Сохранить".

      Edit SMTP API connection in your logic app in the Azure portal.

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

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

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

  1. Запустите клиентское приложение на вашем устройстве. Клиентский код случайным образом выводит сообщения телеметрии и задает temperatureAlert для свойства true значение, когда температура превышает 30 C.

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

    Примечание.

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

Очистка ресурсов

Если вам больше не нужны ресурсы, созданные в этом руководстве, удалите его и группу ресурсов на портале. Для этого выберите группу ресурсов, содержащую центр Интернета вещей, и нажмите кнопку "Удалить".

Или используйте CLI:

# Delete your resource group and its contents
az group delete --name <RESOURCE_GROUP_NAME>

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

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

Чтобы продолжить знакомство с Центром Интернета вещей Azure и изучить расширенные сценарии Центра Интернета вещей, см. следующие ресурсы: