Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Сетка событий Azure позволяет реагировать на события в Центре Интернета вещей путем запуска действий в подчиненных бизнес-приложениях.
В этой статье рассматривается пример конфигурации, в котором используется Центр Интернета вещей и Сетка событий. По окончании настройки у вас будет приложение Azure, настроенное на отправку уведомлений по электронной почте каждый раз, когда устройство подключается или отключается от вашего центра IoT. Сетку событий можно использовать для своевременного получения уведомлений о том, что критические устройства отключаются. Отображение метрик и диагностики в журналах или оповещениях может занять несколько минут (например, 20 минут или более). Длительное время обработки может оказаться неприемлемым для критической инфраструктуры.
Если у вас нет аккаунта Azure, создайте бесплатную учетную запись перед началом.
Предварительные условия
- Учетная запись электронной почты от любого поставщика электронной почты, поддерживаемого Azure Logic Apps, например Office 365 Outlook или Outlook.com. Такая учетная запись используется для отправки уведомлений о событиях.
Используйте среду Bash в Azure Cloud Shell. Дополнительные сведения см. в статье "Начало работы с Azure Cloud Shell".
Если вы предпочитаете выполнять справочные команды CLI локально, установите Azure CLI. Если вы работаете в Windows или macOS, Azure CLI можно запустить в контейнере Docker. Дополнительные сведения см. в статье Как запустить Azure CLI в контейнере Docker.
Если вы используете локальную установку, выполните вход в Azure CLI с помощью команды az login. Чтобы выполнить аутентификацию, следуйте инструкциям в окне терминала. Сведения о других параметрах входа см. в статье "Проверка подлинности в Azure с помощью 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 выберите "Создать ресурс", а затем введите "приложение логики" в поле поиска и нажмите клавишу ВВОД. Выберите Приложение логикив списке результатов.
На следующем экране выберите Создать.
На странице "Создание приложения логики" выберите "Потребление" (многотенантное) и нажмите кнопку "Выбрать".
На странице Создание логического приложения (мультиарендное) дайте вашему логическому приложению уникальное название в вашей подписке, затем выберите ту же подписку, группу ресурсов и расположение, что и у вашего IoT-хаба.
Выберите Просмотр + создание (Просмотреть и создать).
Проверьте параметры и нажмите кнопку Создать.
Создав новый ресурс, выберите Перейти к ресурсу.
В меню ресурсов выберите шаблоны приложений логики в разделе "Средства разработки".
В рабочей области выберите пустой рабочий процесс , чтобы начать работу с пустого рабочего процесса.
Выбор триггера
Триггер представляет собой определенное событие, которое запускает приложение логики. В этом руководстве триггер, который инициирует рабочий процесс, получает запрос через HTTP.
В конструкторе рабочих процессов выберите " Добавить триггер".
На панели поиска триггеров и соединителей введите HTTP.
Прокрутите результаты и выберите в качестве триггера вариант Запрос — при получении HTTP-запроса.
В поле конфигурации триггера выберите "Использовать пример полезных данных для создания схемы".
Скопируйте следующий
jsonи замените значения заполнителей<>на ваши собственные.Вставьте 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.
Это событие публикуется при подключении устройства к узлу IoT.
На панели инструментов конструктора выберите Сохранить.
Примечание.
Вы можете получить всплывающее уведомление, которое говорит, не забудьте включить заголовок Content-Type, заданный для приложения или json в запросе. Вы можете безопасно игнорировать это предложение и перейти к следующему разделу.
Закройте поле сведений о триггере.
Создание действия
Действия представляют собой любые шаги, которые выполняются после запуска триггером рабочего процесса приложения логики. ** В этом руководстве действие — это отправка уведомления по электронной почте через вашего поставщика электронной почты.
В конструкторе выберите знак плюса (+) в триггере, а затем нажмите кнопку "Добавить действие".
В поле "Добавление действия" найдите Outlook.
Найдите и выберите соединитель, соответствующий поставщику услуг электронной почты. В этом руководстве в качестве поставщика электронной почты используется Outlook.com. Чтобы использовать соответствующий соединитель, выберите действие "Отправить сообщение электронной почты (V2) в Outlook.com. Шаги для других поставщиков услуг электронной почты схожи. Кроме того, вы можете использовать Office 365 Outlook, чтобы пропустить шаг входа.
Выберите Войти и войдите в свою учетную запись электронной почты. Выберите Да, чтобы разрешить приложению доступ к вашим сведениям.
Создайте шаблон сообщения электронной почты.
Кому: введите адрес электронной почты для получения электронных уведомлений. В этом уроке используйте учетную запись электронной почты, к которой у вас есть доступ для тестирования.
Тема: заполните текст темы. При выборе текстового поля "Тема " можно выбрать значок функции, отображаемый рядом с текстовым полем, или ввести символ косой черты (/) и выбрать параметр " Вставить динамический список содержимого ", чтобы включить динамическое содержимое. Например, в этом руководстве используется
IoT Hub alert: {eventType}.
После выбора
eventTypeвы увидите текущие выходные данные формы электронной почты. Нажмите Отправить и отправить по эл. почте (V2), чтобы изменить текст сообщения.- Текст: напишите текст сообщения электронной почты. Выберите свойства JSON в средстве выбора, чтобы включить динамическое содержимое на основе данных событий. Если средство выбора не отображается, выберите текстовое поле Тело и щелкните значок функции, отображаемый рядом с текстовым полем, чтобы включить выражения и динамическое содержимое. Если не отображаются нужные поля, на экране динамического содержимого выберите «Посмотреть ещё», чтобы включить поля из предыдущего действия.
Шаблон электронной почты может выглядеть следующим образом:
Выберите "Сохранить " в конструкторе рабочих процессов.
Копирование URL-адреса HTTP
Перед выходом из конструктора рабочих процессов скопируйте URL-адрес, который приложение логики прослушивает для триггера. Этот URL-адрес вы используете для настройки сетки событий.
Разверните поле конфигурации триггера при получении HTTP-запроса , выбрав его.
Скопируйте значение HTTP-URL-адреса , нажав кнопку копирования рядом с ним.
Сохраните этот URL-адрес, чтобы использовать его в следующем разделе.
Настройка подписки на события Центра Интернета вещей
В этом разделе описана настройка Центра Интернета вещей для публикации событий по мере их возникновения.
Найдите нужный Центр Интернета вещей на портале Azure. Центр Интернета вещей можно найти, выбрав пункт Центр Интернета вещей на панели мониторинга Azure, а затем выберите экземпляр Центра Интернета вещей из списка ресурсов.
Выберите События.
Выберите Подписка на события.
Создайте подписку на события со следующими значениями:
В разделе СВЕДЕНИЯ О ПОДПИСКЕ НА СОБЫТИЯ:
- Укажите имя подписки на события.
- Для пункта Схема событий выберите Схема сетки событий.
В разделе СВЕДЕНИЯ О ТЕМЕ:
- Убедитесь, что для типа раздела задано значение Центр Интернета вещей.
- Убедитесь, что имя центра Интернета вещей задано в качестве значения поля Исходный ресурс.
- Введите имя для системной темы, которая будет создана для вас. Для ознакомления с системными разделами, см. System topics in Azure Event Grid.
В разделе ТИПЫ СОБЫТИЙ:
В разделе СВЕДЕНИЯ О КОНЕЧНОЙ ТОЧКЕ:
- Выберите тип конечной точки как веб-перехватчик.
- Выберите конечную точку, вставьте 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етка событий" для запуска действий.
- Узнайте, как упорядочить события подключения и отключения устройств.
- Узнайте о дополнительных возможностях службы Сетка событий.
Для получения полного списка поддерживаемых коннекторов Logic App, см. в статье: