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 , SelfSigned nebo 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
- Úvod do Azure Event Gridu najdete v tématu Co je Event Grid?
- Informace o tom, jak IoT Hub a Event Grid spolupracují, najdete v tématu Reakce na události služby IoT Hub pomocí event Gridu k aktivaci akcí.