Sdílet prostřednictvím


Azure IoT Hub jako zdroj Event Gridu

Tento článek obsahuje vlastnosti a schéma událostí služby Azure IoT Hub. Úvod do schémat událostí najdete ve schématu událostí služby Azure Event Grid.

Dostupné typy událostí

Azure IoT Hub generuje následující typy událostí:

Typ události Popis
Microsoft.Devices.DeviceCreated Publikuje se při zaregistrování zařízení do centra IoT (IoT Hub).
Microsoft.Devices.DeviceDeleted Publikuje se při odstranění zařízení ze centra IoT (IoT Hub).
Microsoft.Devices.DeviceConnected Publikuje se při připojení zařízení k centru IoT (IoT Hub).
Microsoft.Devices.DeviceDisconnected Publikuje se při odpojení zařízení od centra IoT (IoT Hub).
Microsoft.Devices.DeviceTelemetry Publikuje se při odeslání zprávy telemetrie do centra IoT.

Příklad události

Schémata událostí Device Připojení ed a DeviceDisconnected mají stejnou strukturu. Tato ukázková událost ukazuje schéma události vyvolané při připojení zařízení k centru IoT:

[{
  "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"
}]

Událost DeviceTelemetry se vyvolá, když se do IoT Hubu odešle událost telemetrie. Níže je znázorněno ukázkové schéma této události.

[{
  "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"
}]

Schémata událostí DeviceCreated a DeviceDeleted mají stejnou strukturu. Tato ukázková událost ukazuje schéma události vyvolané při registraci zařízení do ioT Hubu:

[{
  "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"
}]

Vlastnosti události

Všechny události obsahují stejná data nejvyšší úrovně:

Vlastnost Type Description
id string Jedinečný identifikátor události.
source string Úplná cesta prostředku ke zdroji událostí. Toto pole není zapisovatelné. Tuto hodnotu poskytuje Event Grid.
subject string Cesta k předmětu události, kterou definuje vydavatel.
type string Jeden z registrovaných typů události pro tento zdroj události.
time string Čas vygenerování události na základě času UTC poskytovatele.
data objekt Data událostí ioT Hubu
specversion string Verze specifikace schématu CloudEvents

Pro všechny události služby IoT Hub obsahuje datový objekt následující vlastnosti:

Vlastnost Type Description
hubName string Název IoT Hubu, ve kterém bylo zařízení vytvořeno nebo odstraněno.
deviceId string Jedinečný identifikátor zařízení. Tento řetězec rozlišující velká a malá písmena může mít délku až 128 znaků a podporuje 7bitové alfanumerické znaky ASCII a následující speciální znaky: - : . + % _ # * ? ! ( ) , = @ ; $ '.

Obsah datového objektu se pro každého vydavatele události liší.

U událostí IoT Hubu Připojení zařízení a odpojených zařízení obsahuje datový objekt následující vlastnosti:

Vlastnost Type Description
moduleId string Jedinečný identifikátor modulu. Toto pole je výstupem pouze pro zařízení modulů. Tento řetězec rozlišující velká a malá písmena může mít délku až 128 znaků a podporuje 7bitové alfanumerické znaky ASCII a následující speciální znaky: - : . + % _ # * ? ! ( ) , = @ ; $ '.
deviceConnectionStateEventInfo objekt Informace o události stavu připojení zařízení
sequenceNumber string Číslo, které pomáhá indikovat pořadí událostí připojených k zařízení nebo odpojených zařízení. Nejnovější událost bude mít pořadové číslo, které je vyšší než předchozí událost. Toto číslo se může změnit o více než 1, ale striktně se zvyšuje. Podívejte se, jak používat pořadové číslo.

U události IoT Hubu telemetrie zařízení obsahuje datový objekt zprávu zařízení-cloud ve formátu zprávy ioT Hubu a má následující vlastnosti:

Vlastnost Type Description
body string Obsah zprávy ze zařízení.
properties string Vlastnosti aplikace jsou uživatelem definované řetězce, které lze přidat do zprávy. Tato pole jsou volitelná.
system properties string Systémové vlastnosti pomáhají identifikovat obsah a zdroj zpráv. Zpráva telemetrie zařízení musí být v platném formátu JSON s typem contentType nastaveným na JSON a contentEncoding nastaveným na UTF-8 ve vlastnostech systému zpráv. Pokud to není nastavené, IoT Hub zapíše zprávy ve formátu kódování base 64.

U událostí IoT Hubu vytvořených zařízení a odstraněných zařízení obsahuje datový objekt následující vlastnosti:

Vlastnost Type Popis
twin objekt Informace o dvojčeti zařízení, což je cloudová reprezentace metadat zařízení aplikace.
deviceID string Jedinečný identifikátor dvojčete zařízení.
etag string Validátor pro zajištění konzistence aktualizací dvojčete zařízení. U každé značky etag je zaručeno, že bude jedinečná pro každé dvojče zařízení.
deviceEtag string Validátor pro zajištění konzistence aktualizací registru zařízení. U každé značky deviceEtag je zaručeno, že bude jedinečný pro každý registr zařízení.
status string Určuje, jestli je dvojče zařízení povolené nebo zakázané.
statusUpdateTime string Časové razítko poslední aktualizace stavu dvojčete zařízení ISO8601.
connectionState string Určuje, jestli je zařízení připojené nebo odpojené.
lastActivityTime string Časové razítko poslední aktivity ISO8601.
cloudToDeviceMessageCount integer Počet zpráv z cloudu do zařízení odeslaných do tohoto zařízení
authenticationType string Typ ověřování používaný pro toto zařízení: buď SAS, SelfSignednebo CertificateAuthority.
x509Thumbprint string Kryptografický otisk je jedinečná hodnota certifikátu x509, která se běžně používá k vyhledání konkrétního certifikátu v úložišti certifikátů. Kryptografický otisk se dynamicky generuje pomocí algoritmu SHA1 a v certifikátu fyzicky neexistuje.
primaryThumbprint string Primární kryptografický otisk certifikátu x509
secondaryThumbprint string Sekundární kryptografický otisk pro certifikát x509.
version integer Celé číslo, které se při každé aktualizaci dvojčete zařízení zvýší o jedno.
desired objekt Část vlastností, které lze zapsat pouze back-endem aplikace, a číst zařízení.
reported objekt Část vlastností, které lze zapsat pouze zařízením, a číst back-end aplikace.
lastUpdated string Časové razítko poslední aktualizace vlastnosti dvojčete zařízení ISO8601.

Kurzy a postupy

Titulek Popis
Odesílání e-mailových oznámení o událostech Azure IoT Hubu pomocí Logic Apps Aplikace logiky odešle e-mail s oznámením při každém přidání zařízení do služby IoT Hub.
Reakce na události ioT Hubu pomocí Event Gridu k aktivaci akcí Přehled integrace IoT Hubu s Event Gridem
Objednání událostí připojených zařízení a odpojených zařízení Ukazuje, jak objednat události stavu připojení zařízení.

Další kroky