Центр Интернета вещей Azure в качестве источника сетки событий

Эта статья содержит свойства и схему для событий Центра Интернета вещей Azure. Общие сведения о схемах событий см. в статье Схема событий службы "Сетка событий Azure".

Доступные типы событий

Центр Интернета вещей Azure выдает следующие типы событий:

Тип события Описание
Microsoft.Devices.DeviceCreated Публикуется при регистрации устройства в Центре Интернета вещей.
Microsoft.Devices.УстройствоУдалено Публикуется при удалении устройства из Центра Интернета вещей.
Microsoft.Devices.DeviceConnected Публикуется при подключении устройства к Центру Интернета вещей.
Microsoft.Devices.DeviceDisconnected Публикуется при отключении устройства от Центра Интернета вещей.
Microsoft.Devices.DeviceTelemetry Опубликовано при отправке сообщения телеметрии в Центр Интернета вещей.

Пример события

Схемы событий DeviceConnected и DeviceDisconnected имеют ту же структуру. В этом примере события показана схема события, возникающего при подключении устройства к Центру Интернета вещей:

[{
  "id": "f6bbf8f4-d365-520d-a878-17bf7238abd8", 
  "source": "/SUBSCRIPTIONS/<subscription ID>/RESOURCEGROUPS/<resource group name>/PROVIDERS/MICROSOFT.DEVICES/IOTHUBS/<hub name>", 
  "subject": "devices/LogicAppTestDevice", 
  "type": "Microsoft.Devices.DeviceConnected", 
  "time": "2018-06-02T19:17:44.4383997Z", 
  "data": {
    "deviceConnectionStateEventInfo": {
      "sequenceNumber":
        "000000000000000001D4132452F67CE200000002000000000000000000000001"
    },
    "hubName": "egtesthub1",
    "deviceId": "LogicAppTestDevice",
    "moduleId" : "DeviceModuleID"
  }, 
  "specversion": "1.0"
}]

Событие DeviceTelemetry возникает при отправке события телеметрии в Центр Интернета вещей. Ниже показан пример схемы для этого события.

[{
  "id": "9af86784-8d40-fe2g-8b2a-bab65e106785",
  "source": "/SUBSCRIPTIONS/<subscription ID>/RESOURCEGROUPS/<resource group name>/PROVIDERS/MICROSOFT.DEVICES/IOTHUBS/<hub name>", 
  "subject": "devices/LogicAppTestDevice", 
  "type": "Microsoft.Devices.DeviceTelemetry",
  "time": "2019-01-07T20:58:30.48Z",
  "data": {        
      "body": {            
          "Weather": {                
              "Temperature": 900            
          },
          "Location": "USA"        
      },
        "properties": {            
          "Status": "Active"        
        },
        "systemProperties": {            
            "iothub-content-type": "application/json",
            "iothub-content-encoding": "utf-8",
            "iothub-connection-device-id": "d1",
            "iothub-connection-auth-method": "{\"scope\":\"device\",\"type\":\"sas\",\"issuer\":\"iothub\",\"acceptingIpFilterRule\":null}",
            "iothub-connection-auth-generation-id": "123455432199234570",
            "iothub-enqueuedtime": "2019-01-07T20:58:30.48Z",
            "iothub-message-source": "Telemetry"        
        }    
    },
  "specversion": "1.0"
}]

Схемы для событий DeviceCreated и DeviceDeleted имеют ту же структуру. В этом примере события показана схема события, возникающего при регистрации устройства в Центре Интернета вещей:

[{
  "id": "56afc886-767b-d359-d59e-0da7877166b2",
  "source": "/SUBSCRIPTIONS/<subscription ID>/RESOURCEGROUPS/<resource group name>/PROVIDERS/MICROSOFT.DEVICES/IOTHUBS/<hub name>",
  "subject": "devices/LogicAppTestDevice",
  "type": "Microsoft.Devices.DeviceCreated",
  "time": "2018-01-02T19:17:44.4383997Z",
  "data": {
    "twin": {
      "deviceId": "LogicAppTestDevice",
      "etag": "AAAAAAAAAAE=",
      "deviceEtag": "null",
      "status": "enabled",
      "statusUpdateTime": "0001-01-01T00:00:00",
      "connectionState": "Disconnected",
      "lastActivityTime": "0001-01-01T00:00:00",
      "cloudToDeviceMessageCount": 0,
      "authenticationType": "sas",
      "x509Thumbprint": {
        "primaryThumbprint": null,
        "secondaryThumbprint": null
      },
      "version": 2,
      "properties": {
        "desired": {
          "$metadata": {
            "$lastUpdated": "2018-01-02T19:17:44.4383997Z"
          },
          "$version": 1
        },
        "reported": {
          "$metadata": {
            "$lastUpdated": "2018-01-02T19:17:44.4383997Z"
          },
          "$version": 1
        }
      }
    },
    "hubName": "egtesthub1",
    "deviceId": "LogicAppTestDevice"
  },
  "specversion": "1.0"
}]

Свойства события

Все события содержат одинаковые данные верхнего уровня:

Недвижимость Тип Описание
id струна Уникальный идентификатор события.
source струна Полный путь ресурса к источнику события. Это поле недоступно для записи. Сетка событий предоставляет это значение.
subject струна Путь к объекту события, определённый издателем.
type струна Один из зарегистрированных типов событий для этого источника событий.
time струна Время события определяется на основе времени UTC, используемого поставщиком.
data объект Данные событий Центра Интернета вещей.
specversion струна Версия спецификации схемы CloudEvents.

Для всех событий Центра Интернета вещей объект данных содержит следующие свойства:

Недвижимость Тип Описание
hubName струна Имя Центра Интернета вещей, на котором было создано или удалено устройство.
deviceId струна Уникальный идентификатор устройства. Эта строка с учетом регистра может содержать до 128 символов и поддерживает 7-разрядные буквенно-цифровые символы ASCII, а также следующие специальные символы: - : . + % _ # * ? ! ( ) , = @ ; $ '

Содержимое объекта данных отличается для каждого издателя событий.

Для событий Центра Интернета вещей, подключенных к устройству и отключенных устройств , объект данных содержит следующие свойства:

Недвижимость Тип Описание
moduleId струна Уникальный идентификатор модуля. Это поле выводится только для устройств модулей. Эта строка с учетом регистра может содержать до 128 символов и поддерживает 7-разрядные буквенно-цифровые символы ASCII, а также следующие специальные символы: - : . + % _ # * ? ! ( ) , = @ ; $ '
deviceConnectionStateEventInfo объект Сведения о событии состояния подключения устройства
sequenceNumber струна Число, которое помогает указать порядок подключенных устройств или отключенных событий устройства. Последнее событие будет иметь порядковый номер, превышающий предыдущее событие. Это число может измениться более чем на 1, но строго увеличивается. Узнайте , как использовать порядковый номер.

Для события Центра Интернета вещей для телеметрии устройства объект данных содержит сообщение типа "устройство — облако" в формате сообщения Центра Интернета вещей и имеет следующие свойства:

Недвижимость Тип Описание
body струна Содержимое сообщения с устройства.
properties струна Свойства приложения — это определяемые пользователем строки, которые можно добавить в сообщение. Эти поля являются необязательными.
system properties струна Системные свойства помогают определить содержимое и источник сообщений. Сообщение телеметрии устройства должно быть в допустимом формате JSON с типом contentType, заданным в формате JSON и contentEncoding, равным UTF-8, в свойствах системы сообщений. Если это не задано, Центр Интернета вещей записывает сообщения в кодировке base 64.

Для событий Центра Интернета вещей , созданных иудаленных устройств , объект данных содержит следующие свойства:

Недвижимость Тип Описание
twin объект Сведения о двойнику устройства, представляющее собой облачное представление метаданных устройства приложения.
deviceID струна Уникальный идентификатор двойника устройства.
etag струна Проверяющий элемент для обеспечения согласованности обновлений двойника устройства. Каждый etag гарантированно будет уникальным для каждого двойника устройства.
deviceEtag струна Проверяющий элемент для обеспечения согласованности обновлений в реестре устройств. Каждый deviceEtag гарантированно будет уникальным для каждого реестра устройств.
status струна Указывает, включен ли или отключен двойник устройства.
statusUpdateTime струна Метка времени последнего обновления состояния двойника устройства ISO8601.
connectionState струна Указывает, подключено ли устройство или отключено.
lastActivityTime струна Метка времени последнего действия ISO8601.
cloudToDeviceMessageCount целое число Количество сообщений об облаке на устройство, отправляемых на это устройство.
authenticationType струна Тип проверки подлинности, используемый для этого устройства: либо SASSelfSigned.CertificateAuthority
x509Thumbprint струна Отпечаток — это уникальное значение для сертификата x509, которое обычно используется для поиска определенного сертификата в хранилище сертификатов. Отпечаток динамически создается с помощью алгоритма SHA1 и физически не существует в сертификате.
primaryThumbprint струна Первичный отпечаток для сертификата x509.
secondaryThumbprint струна Вторичный отпечаток для сертификата x509.
version целое число Целое число, которое увеличивается по одному при каждом обновлении двойника устройства.
desired объект Часть свойств, которые могут быть записаны только серверной частью приложения и считываются устройством.
reported объект Часть свойств, которые могут быть записаны только устройством, и считываются серверной частью приложения.
lastUpdated струна Метка времени последнего обновления свойства двойника устройства ISO8601.

Учебные пособия и инструкции

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

Дальнейшие действия