Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Правила в IoT Central — это настраиваемый инструмент реагирования, который активируется отслеживаемыми событиями подключенных устройств. В разделах ниже описано, как вычисляются правила. Вы можете определить одно или несколько действий, выполняемых при срабатывании правила. В этой статье описываются группы действий для электронной почты, веб-перехватчика и Azure Monitor. Дополнительные сведения о других типах действий см. в статье "Использование рабочих процессов для интеграции приложения Azure IoT Central с другими облачными службами".
Выбор целевых устройств
Используйте раздел целевых устройств, чтобы выбрать тип устройств, к чему применяется это правило. Фильтры позволяют дополнительно уточнить, какие устройства должны быть выбраны. Для фильтрации набора устройств используются свойства в шаблоне устройства. Сами по себе фильтры не активируют действие. На следующем снимке экрана правило предназначено для устройств Холодильника . Фильтр устанавливает, что правило должно включать только холодильники, где свойство штат-производитель равно Вашингтон.
Применение нескольких условий
Условия определяют, на каких устройствах активируется правило. К правилу можно добавить несколько условий и указать, должно ли правило запускаться, если истинны все условия или любое из них.
На следующем снимке экрана условия проверяют, когда температура превышает 70° F, а влажность меньше 10 %. Если любой из этих операторов имеет значение True, правило принимает значение True и активирует действие.
Примечание.
Сейчас поддерживаются только условия телеметрии.
Использование облачного свойства в поле значения
Вы можете ссылаться на облачное свойство из шаблона устройства в поле "Значение " для условия. Типы облачного свойства и значения телеметрии должны совпадать. Например, если температура является двойной, то только свойства облака типа double отображаются в раскрывающемся списке "Значение ".
Если выбрать значение телеметрии типа события, раскрывающийся список "Значение " включает параметр Any. Параметр Any означает, что правило срабатывает, когда приложение получает событие этого типа, независимо от содержимого.
Использование объединенных временных окон
Вы можете указать агрегат времени, чтобы активировать правило на основе временного окна. Условия правила предполагают вычисление временных окон агрегатов для данных телеметрии в качестве "переворачивающихся" окон. Если в правиле есть фильтры свойств, они применяются в конце временного окна. На следующем снимке экрана период времени составляет пять минут. Каждые пять минут правило оценивает данные телеметрии за прошедшие пять минут. Данные оцениваются только один раз в пределах временного окна, которому они соответствуют.
Создание действия отправки сообщения
При создании действия электронной почты адрес электронной почты должен быть идентификатором пользователя в приложении, и пользователь должен войти в приложение по крайней мере один раз. Можно также указать заметку, которая будет добавлена в сообщение электронной почты. IoT Central показывает пример того, как выглядит электронная почта при активации правила:
Создание действия веб-перехватчика
Веб-перехватчики позволяют подключить приложение IoT Central к другим приложениям и службам для удаленного мониторинга и уведомления. Веб-перехватчики автоматически уведомляют другие приложения и службы, к которым вы подключаетесь, при каждой активации правила в приложении IoT Central. Приложение IoT Central отправляет запрос POST к конечной точке HTTP другого приложения при каждой активации правила. Наполнение запроса будет содержать сведения об устройстве и об активации правила.
В этом примере вы подключаетесь к RequestBin для проверки уведомления:
Перейдите к RequestBin.
Выберите "Создать ячейку запроса".
Войдите с помощью одного из доступных методов.
При необходимости следуйте инструкциям по созданию рабочей области RequestBin.
Скопируйте URL-адрес конечной точки RequestBin.
Добавьте действие в правило.
Выберите действие веб-хука, введите отображаемое имя и вставьте URL-адрес RequestBin в качестве URL-адреса обратного вызова.
Сохраните правило.
Теперь при срабатывании правила в RequestBin должен появиться новый запрос.
Полезная нагрузка
При срабатывании правила создает запрос HTTP POST к URL-адресу обратного вызова. Запрос содержит полезные данные JSON с данными телеметрии, сведениями об устройстве, правиле и приложении. Полезные данные выглядят так, как следующий фрагмент кода JSON:
{
"timestamp": "2020-04-06T00:20:15.06Z",
"action": {
"id": "<id>",
"type": "WebhookAction",
"rules": [
"<rule_id>"
],
"displayName": "Webhook 1",
"url": "<callback_url>"
},
"application": {
"id": "<application_id>",
"displayName": "Contoso",
"subdomain": "contoso",
"host": "contoso.azureiotcentral.com"
},
"device": {
"id": "<device_id>",
"etag": "<etag>",
"displayName": "Refrigerator Monitor - 1yl6vvhax6c",
"instanceOf": "<device_template_id>",
"simulated": true,
"provisioned": true,
"approved": true,
"cloudProperties": {
"City": {
"value": "Seattle"
}
},
"properties": {
"deviceinfo": {
"firmwareVersion": {
"value": "1.0.0"
}
}
},
"telemetry": {
"<interface_instance_name>": {
"humidity": {
"value": 47.33228889360127
}
}
}
},
"rule": {
"id": "<rule_id>",
"displayName": "Humidity monitor"
}
}
Если правило отслеживает агрегированные данные телеметрии за определенный период времени, полезные данные содержат раздел телеметрии, который выглядит так, как показано ниже.
{
"telemetry": {
"<interface_instance_name>": {
"Humidity": {
"avg": 39.5
}
}
}
}
Уведомление об изменении формата данных
Если у вас есть один или несколько веб-перехватчиков, созданных и сохраненных до 3 апреля 2020 г., удалите веб-перехватчик и создайте новый. Старые веб-перехватчики используют устаревший формат полезных данных:
{
"id": "<id>",
"displayName": "Webhook 1",
"timestamp": "2019-10-24T18:27:13.538Z",
"rule": {
"id": "<id>",
"displayName": "High temp alert",
"enabled": true
},
"device": {
"id": "rm1",
"displayName": "Refrigerator Monitor - rm1",
"instanceOf": "<device-template-id>",
"simulated": true,
"provisioned": true,
"approved": true
},
"data": [{
"@id": "<id>",
"@type": ["Telemetry"],
"name": "temperature",
"displayName": "Temperature",
"value": 66.27310467496761,
"interfaceInstanceName": "sensors"
}],
"application": {
"id": "<id>",
"displayName": "x - Store Analytics Checkout",
"subdomain": "<subdomain>",
"host": "<host>"
}
}
Создание группы действий Azure Monitor
В этом разделе описывается, как использовать группы действийAzure Monitor для присоединения нескольких действий к правилу IoT Central. Группу действий можно подключить к нескольким правилам. Группа действий — это коллекция параметров уведомлений, определенных владельцем подписки Azure.
Вы можете создавать группы действий и управлять ими на портале Azure или с помощью шаблона Azure Resource Manager.
Группа действий может следующее.
- Отправлять уведомления, например сообщения по электронной почте, текстовые сообщения или голосовые звонки.
- Выполнять действие, например вызов веб-перехватчика.
На следующем снимке экрана показана группа действий, которая отправляет электронные письма и текстовые сообщения и вызывает веб-перехватчик:
Чтобы вы могли использовать группу действий в правиле IoT Central, она должна находиться в той же подписке Azure, что и приложение IoT Central.
При добавлении действия в правило в IoT Central выберите группы действий Azure Monitor.
Выберите группу действий из подписки Azure:
Нажмите кнопку "Сохранить". Теперь группа действий отображается в списке действий, выполняемых при активации правила.
В следующей таблице представлены сведения, которые передаются в поддерживаемые типы действий.
| Тип действия | Формат вывода |
|---|---|
| Эл. почта | Шаблон электронного письма IoT Central категории "Стандартный" |
| СМС | Оповещение Azure IoT Central: ${applicationName} - "${ruleName}" triggered on "${deviceName}" at ${triggerDate} ${triggerTime} |
| Голосовая связь | Оповещение Azure I.O.T Central: правило "${ruleName}" triggered on device "${deviceName}" at ${triggerDate} ${triggerTime}, in application ${applicationName} |
| Веб-перехватчик | { "schemaId" : "AzureIoTCentralRuleWebhook", "data": {"regular webhook payload"}} |
Следующий текст представляет собой пример текстового сообщения из группы действий:
iotcentral: Azure IoT Central alert: Contoso - "Low pressure alert" triggered on "Motion sensor 2" at March 20, 2019 10:12 UTC
Использование правил с модулями IoT Edge
На правила, применяемые к модулям IoT Edge, распространяется ограничение. Правила для телеметрии из разных модулей не оцениваются как допустимые правила. Если взять следующий пример, первое условие правила основано на данных телеметрии температуры из модуля А. Второе условие правила основано на данных телеметрии влажности из модуля Б. Так как два условия относятся к разным модулям, это недопустимый набор условий. Правило является недопустимым и выдает ошибку при попытке его сохранения.
Следующие шаги
Теперь, когда вы знаете, как настроить правило в приложении Azure IoT Central, вы можете узнать, как настроить расширенные правила с помощью Power Automate или Azure Logic Apps.