Azure IoT Hub sebagai sumber Event Grid

Artikel ini menyediakan properti dan skema untuk peristiwa Azure IoT Hub. Untuk pengantar skema peristiwa, lihat Skema peristiwa Azure Event Grid.

Tipe kejadian yang tersedia

Azure IoT Hub mengeluarkan jenis peristiwa berikut ini:

Jenis peristiwa Deskripsi
Microsoft.Devices.DeviceCreated Diterbitkan saat perangkat didaftarkan ke hub IoT.
Microsoft.Devices.DeviceDeleted Diterbitkan saat perangkat dihapus dari hub IoT.
Microsoft.Devices.DeviceConnected Diterbitkan saat perangkat disambungkan ke hub IoT.
Microsoft.Devices.DeviceDisconnected Diterbitkan saat perangkat terputus sambungannya dari hub IoT.
Microsoft.Devices.DeviceTelemetry Diterbitkan saat pesan telemetri dikirim ke hub IoT.

Contoh peristiwa

Skema untuk peristiwa Perangkat Koneksi dan DeviceDisconnected memiliki struktur yang sama. Sampel peristiwa ini memperlihatkan skema peristiwa yang diangkat saat perangkat tersambung ke hub 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"
}]

Peristiwa DeviceTelemetry dinaikkan ketika acara telemetri dikirim ke IoT Hub. Skema sampel untuk peristiwa ini ditunjukkan di bawah ini.

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

Skema untuk peristiwa DeviceCreated dan DeviceDeleted memiliki struktur yang sama. Contoh peristiwa ini menunjukkan skema peristiwa yang diangkat saat perangkat didaftarkan ke hub IoT:

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

Properti kejadian

Semua peristiwa berisi data tingkat atas yang sama:

Properti Tipe Deskripsi
id string Pengidentifikasi unik untuk peristiwa tersebut.
source string Jalur sumber daya lengkap ke sumber kejadian. Bidang ini tidak dapat ditulis. Event Grid memberikan nilai ini.
subject string Jalur yang ditentukan penerbit ke subjek kejadian.
type string Salah satu jenis kejadian terdaftar untuk sumber kejadian ini.
time string Waktu peristiwa dibuat berdasarkan waktu UTC penyedia.
data object Data peristiwa IoT Hub.
specversion string Versi spesifikasi skema CloudEvents.

Untuk semua peristiwa IoT Hub, objek data berisi properti berikut:

Properti Tipe Deskripsi
hubName string Nama IoT Hub tempat perangkat dibuat atau dihapus.
deviceId string Pengidentifikasi unik perangkat. Untai (karakter) peka huruf besar/kecil ini dapat mencapai 128 karakter, dan mendukung karakter alfanumerik ASCII 7-bit ditambah karakter khusus berikut: - : . + % _ # * ? ! ( ) , = @ ; $ '.

Konten objek data berbeda untuk setiap penerbit peristiwa.

Untuk peristiwa Perangkat Terhubung dan Perangkat Terputus IoT Hub, objek data berisi properti berikut:

Properti Tipe Deskripsi
moduleId string Pengidentifikasi unik modul. Bidang ini hanya keluaran untuk perangkat modul. Untai (karakter) peka huruf besar/kecil ini dapat mencapai 128 karakter, dan mendukung karakter alfanumerik ASCII 7-bit ditambah karakter khusus berikut: - : . + % _ # * ? ! ( ) , = @ ; $ '.
deviceConnectionStateEventInfo object Informasi peristiwa status koneksi perangkat
sequenceNumber string Nomor yang membantu menunjukkan urutan peristiwa perangkat yang terhubung atau perangkat yang terputus. Peristiwa terbaru akan memiliki nomor urut yang lebih tinggi dari peristiwa sebelumnya. Jumlah ini dapat berubah lebih dari 1, tetapi benar-benar meningkat. Lihat cara menggunakan nomor urut.

Untuk peristiwa Telemetri Perangkat IoT Hub, objek data berisi pesan perangkat-ke-cloud dalam format pesan hub IoT dan memiliki properti berikut:

Properti Tipe Deskripsi
body string Isi pesan dari perangkat.
properties string Properti aplikasi adalah untai (karakter) yang ditentukan pengguna yang dapat ditambahkan ke pesan. Bidang-bidang ini bersifat opsional.
system properties string Properti sistem membantu mengidentifikasi konten dan sumber pesan. Pesan telemetri perangkat harus dalam format JSON yang valid dengan kontenType diatur ke JSON dan contentEncoding diatur ke UTF-8 di properti sistem pesan. Jika ini tidak diatur, maka IoT Hub akan menulis pesan dalam format berkode base 64.

Untuk peristiwa Pembuatan Perangkat dan Penghapusan Perangkat IoT Hub, objek data berisi properti berikut:

Properti Tipe Deskripsi
twin object Informasi tentang perangkat kembar, yang merupakan representasi cloud dari metadata perangkat aplikasi.
deviceID string Pengidentifikasi unik dari perangkat kembar.
etag string Validator untuk memastikan konsistensi pembaruan pada perangkat kembar. Setiap etag dijamin unik per perangkat kembar.
deviceEtag string Validator untuk memastikan konsistensi pembaruan pada registri perangkat. Setiap deviceEtag dijamin unik per registri perangkat.
status string Menunjukkan apakah perangkat kembar diaktifkan atau dinonaktifkan.
statusUpdateTime string Tanda waktu ISO8601 dari pembaruan status perangkat kembar terakhir.
connectionState string Menunjukkan apakah perangkat tersambung atau terputus.
lastActivityTime string Tanda waktu ISO8601 dari aktivitas terakhir.
cloudToDeviceMessageCount Integer Hitungan pesan cloud ke perangkat yang dikirim ke perangkat ini.
authenticationType string Jenis autentikasi yang digunakan untuk perangkat ini: baik SAS, SelfSigned, atau CertificateAuthority.
x509Thumbprint string Thumbprint adalah nilai unik untuk sertifikat x509, yang biasa digunakan untuk menemukan sertifikat tertentu di penyimpanan sertifikat. Thumbprint dihasilkan secara dinamis menggunakan algoritma SHA1, dan tidak ada secara fisik dalam sertifikat.
primaryThumbprint string Thumbprint utama untuk sertifikat x509.
secondaryThumbprint string Thumbprint sekunder untuk sertifikat x509.
version Integer Bilangan bulat yang bertambah satu setiap kali perangkat kembar diperbarui.
desired object Sebagian properti yang hanya dapat ditulis oleh back-end aplikasi, dan dibaca oleh perangkat.
reported object Sebagian properti yang hanya dapat ditulis oleh perangkat, dan dibaca oleh back-end aplikasi.
lastUpdated string Tanda waktu ISO8601 dari pembaruan properti kembar perangkat terakhir.

Tutorial dan cara kerja

Judul Deskripsi
Kirim pemberitahuan email tentang peristiwa Azure IoT Hub menggunakan Logic Apps Aplikasi logika mengirimkan email pemberitahuan setiap kali perangkat ditambahkan ke IoT Hub Anda.
Bereaksi terhadap peristiwa IoT Hub menggunakan Event Grid untuk memicu tindakan Gambaran umum mengintegrasikan IoT Hub dengan Event Grid.
Memesan peristiwa perangkat tersambung dan perangkat terputus Memperlihatkan cara memesan peristiwa status koneksi perangkat.

Langkah berikutnya