Tutorial: Mengirim pemberitahuan email tentang peristiwa Azure IoT Hub menggunakan Event Grid dan Logic Apps

Azure Event Grid memungkinkan Anda bereaksi terhadap peristiwa di Azure IoT Hub dengan memicu tindakan dalam aplikasi bisnis downstream Anda.

Artikel ini menelusuri konfigurasi sampel yang menggunakan Azure IoT Hub dan Azure Event Grid. Di akhir, Anda memiliki aplikasi logika Azure yang disiapkan untuk mengirim email pemberitahuan setiap kali perangkat terhubung atau terputus ke hub IoT Anda. Azure Event Grid dapat digunakan untuk mendapatkan pemberitahuan tepat waktu tentang pemutusan perangkat penting. Metrik dan Diagnostik dapat memakan waktu beberapa menit (seperti 20 menit atau lebih) untuk muncul di log/pemberitahuan. Waktu pemrosesan yang lebih lama mungkin tidak dapat diterima untuk infrastruktur penting.

Jika Anda tidak memiliki Langganan Azure, buat Akun gratis Azure sebelum memulai.

Prasyarat

  • Akun email dari penyedia email apa pun yang didukung oleh Azure Logic Apps, seperti Office 365 Outlook atau Outlook.com. Akun email ini digunakan untuk mengirim notifikasi peristiwa.

Membuat IoT Hub

Anda dapat dengan cepat membuat hub IoT baru menggunakan terminal Azure Cloud Shell di portal.

  1. Masuk ke portal Azure.

  2. Di kanan atas halaman, pilih tombol Cloud Shell.

    Screenshot of how to open the Azure Cloud Shell from the Azure portal.

  3. Jalankan perintah berikut ini untuk membuat grup sumber daya:

    az group create --name {your resource group name} --location westus
    
  4. Jalankan perintah berikut untuk membuat hub IoT:

    az iot hub create --name {your iot hub name} --resource-group {your resource group name} --sku S1 
    
  5. Meminimalkan terminal Cloud Shell. Anda akan kembali ke shell nanti dalam tutorial.

Membuat aplikasi logika

Selanjutnya, buat aplikasi logika dan tambahkan pemicu HTTP Event Grid yang memproses permintaan dari IoT hub.

Buat sumber daya aplikasi logika

  1. Di portal Microsoft Azure, pilih Buat sumber daya, lalu ketik "aplikasi logika" di kotak pencarian dan pilih kembali. Pilih Aplikasi Logika dari hasil.

    Screenshot of how to select the logic app from a list of resources.

  2. Pada layar berikutnya, pilih Buat.

  3. Beri nama aplikasi logika yang unik di langganan Anda, lalu pilih langganan, grup sumber daya, dan lokasi yang sama dengan IoT hub Anda. Pilih jenis paket Konsumsi.

    Screenshot of how to configure your logic app.

  4. Pilih Tinjau + buat.

  5. Verifikasi pengaturan Anda, lalu pilihBuat.

  6. Setelah sumber daya dibuat, pilihBuka sumber daya.

  7. Di Azure Logic Apps Designer, gulir ke bawah untuk melihat Templat. Pilih Aplikasi Logika Kosong sehingga Anda dapat membuat aplikasi logika dari awal.

    Screenshot of the Logic App Designer templates.

Memilih pemicu

Pemicu merupakan peristiwa tertentu yang memulai aplikasi logika Anda. Untuk tutorial ini, pemicu yang memicu alur kerja menerima permintaan melalui HTTP.

  1. Di konektor dan memicu bilah pencarian, ketikHTTP.

  2. Gulir hasilnya dan pilihPermintaan - Saat permintaan HTTP diterima sebagai pemicunya.

    Select HTTP request trigger

  3. Pilih Gunakan sampel payload untuk membuat skema.

    Use sample payload

  4. Salin json di bawah dan ganti nilai tempat penampung <> dengan milik Anda.

  5. Tempelskema peristiwa yang tersambung perangkat JSON ke dalam kotak teks, lalu pilihSelesai:

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

    Penting

    Pastikan untuk menempelkan cuplikan JSON ke dalam kotak yang disediakan oleh tautan Gunakan payload sampel untuk menghasilkan skema dan tidak langsung ke kotak Minta Skema Isi JSON. Tautan payload sampel menyediakan cara untuk menghasilkan konten JSON berdasarkan cuplikan JSON. JSON akhir yang berakhir di isi permintaan berbeda dari cuplikan JSON.

    Peristiwa ini dipublikasikan ketika perangkat terhubung ke hub IoT.

Catatan

Anda mungkin menerima pemberitahuan pop-up yang mengatakan, Ingatlah untuk menyertakan header Jenis-Konten yang diatur ke application/json dalam permintaan Anda. Anda dapat dengan aman mengabaikan saran ini, dan melanjutkan ke bagian berikutnya.

Buat tindakan

Tindakan adalah langkah apa pun yang terjadi setelah pemicu memulai alur kerja aplikasi logika. Untuk tutorial ini, tindakannya adalah mengirim pemberitahuan email dari penyedia email Anda.

  1. Pilih Langkah baru. Jendela muncul, yang meminta Anda untuk Memilih tindakan.

  2. CariOutlook.

  3. Berdasarkan penyedia email Anda, temukan dan pilih konektor yang cocok. Tutorial ini menggunakanOutlook.com. Langkah-langkah untuk penyedia email lain serupa. Atau, gunakan Office 365 Outlook untuk melewati langkah masuk.

    Select email provider connector

  4. Pilih tindakan Kirim email (V2).

  5. PilihMasukdan masuk ke akun email Anda. PilihYauntuk mengizinkan aplikasi mengakses info Anda.

  6. Buat templat email Anda.

    • Kepada: Masukkan alamat email yang akan menerima email pemberitahuan. Untuk tutorial ini, gunakan akun email yang dapat Anda akses untuk pengujian.

    • Subjek: Isi teks untuk subjek. Saat Anda mengklik kotak teks Subjek, Anda bisa memilih konten dinamis untuk disertakan. Misalnya, tutorial ini menggunakan IoT Hub alert: {eventType}. Jika Anda tidak dapat melihat Konten dinamis, pilih hyperlink Tambahkan konten dinamis untuk mengaktifkan atau menonaktifkan tampilan Konten dinamis.

    Setelah memilih eventType, Anda akan melihat output formulir email sejauh ini. Pilih Kirim dan email (V2) untuk mengedit isi email Anda.

    Screenshot of the condensed body output form.

    • Isi: Tulis teks untuk email Anda. Pilih properti JSON dari alat pemilih untuk menyertakan konten dinamis berdasarkan data peristiwa. Jika tidak bisa melihat konten Dinamis, pilih hyperlink tambahkankonten dinamisdi kotak teksIsi. Jika tidak memperlihatkan bidang yang Anda inginkan, kliklainnyadi layar Konten dinamis untuk menyertakan bidang dari tindakan sebelumnya.

    Templat email Anda akan terlihat seperti contoh ini:

    Screenshot of how to create an event email in the template.

  7. Pilih Simpan di Logic Apps Designer.

Salin URL HTTP

Sebelum meninggalkan Logic Apps Designer, salin URL yang didengarkan oleh aplikasi logika Anda untuk pemicu. Anda menggunakan URL ini untuk mengonfigurasi Azure Event Grid.

  1. Perluas kotak konfigurasi pemicu Saat permintaan HTTP diterima dengan mengkliknya.

  2. Salin nilai URL HTTP POST dengan memilih tombol salin di sampingnya.

    Copy the HTTP POST URL

  3. Simpan URL ini sehingga Anda bisa merujuknya di bagian berikutnya.

Mengonfigurasi langganan untuk peristiwa IoT Hub

Di bagian ini, Anda mengonfigurasi IoT Hub untuk menerbitkan peristiwa saat terjadi.

  1. Di portal Azure, navigasi ke hub IoT Anda. Anda dapat menemukan IoT hub dengan memilih IoT Hub dari dasbor Azure, lalu pilih instans IoT hub dari daftar sumber daya.

  2. PilihPeristiwa.

    Open the Event Grid details

  3. PilihLangganan peristiwa.

    Create new event subscription

  4. Buat langganan peristiwa dengan nilai berikut ini:

    1. Di bagianDETAIL LANGGANAN PERISTIWA:

      1. Masukkannamauntuk langganan peristiwa.
      2. PilihAzure Event Grid Schemauntuk Skema Peristiwa.
    2. Di bagianDETAIL TOPIK:

      1. Konfirmasikan bahwaJenis Topik diatur ke Azure IoT Hub.
      2. Konfirmasikan bahwa nama hub IoT ditetapkan sebagai nilai untuk bidangSumber Daya.
      3. Masukkan nama untuktopik sistemyang akan dibuat untuk Anda. Untuk mempelajari tentang topik sistem, lihatGambaran umum topik sistem.
    3. Di bagianJENIS PERISTIWA:

      1. Pilih turun keFilter ke jenis Peristiwa.

      2. Hapus centang dalam Perangkat Yang Dibuat dan Perangkat Dihapus, hanya centang Perangkat yang Tersambung dan Perangkat Terputus.

        select subscription event types

    4. Di bagian DETAIL ENDPOINT:

      1. Pilih Jenis Titik Akhir sebagai Web Hook.
      2. Klik pilih titik akhir, tempelkan URL yang Anda salin dari aplikasi logika Anda, dan konfirmasikan pilihan.

      select endpoint url

      Bila sudah selesai, panel akan terlihat seperti contoh berikut ini:

      Screenshot of your 'Create Event Subscription' page in the Azure portal.

  5. Pilih Buat.

Simulasikan perangkat baru yang menghubungkan dan mengirim telemetri

Uji aplikasi logika Anda dengan mensimulasikan koneksi perangkat dengan cepat menggunakan Azure CLI.

  1. Pilih tombol Cloud Shell untuk membuka kembali terminal Anda.

  2. Jalankan perintah berikut untuk membuat identitas perangkat yang disimulasikan:

    az iot hub device-identity create --device-id simDevice --hub-name {YourIoTHubName}
    

    Pemrosesan bisa memakan waktu satu menit. Anda akan melihat cetakan JSON di konsol Anda setelah dibuat.

  3. Jalankan perintah berikut untuk mensimulasikan menyambungkan perangkat Anda ke Azure IoT Hub dan mengirim telemetri:

    az iot device simulate -d simDevice -n {YourIoTHubName}
    
  4. Saat perangkat yang disimulasikan terhubung ke IoT Hub, Anda akan menerima email yang memberi tahu Anda tentang peristiwa "DeviceConnected".

  5. Ketika simulasi selesai, Anda akan menerima email yang memberi tahu Anda tentang peristiwa "DeviceDisconnected".

    Screenshot of the email you should receive.

Membersihkan sumber daya

Tutorial ini menggunakan sumber daya yang dikenakan biaya pada langganan Azure Anda. Ketika Anda selesai mencoba tutorial dan menguji hasil Anda, nonaktifkan atau hapus sumber daya yang tidak ingin Anda simpan.

Hapus sumber daya Azure yang dibuat dalam tutorial ini dengan menghapus grup sumber daya.

  1. PilihGrup sumber daya, lalu pilih grup sumber daya yang Anda buat untuk tutorial ini.

  2. Pada halaman Grup sumber daya, pilihHapus grup sumber daya. Anda diminta untuk memasukkan nama grup sumber daya, lalu Anda dapat menghapusnya. Semua sumber daya yang terkandung di dalamnya juga dihapus.

Langkah berikutnya

Untuk daftar lengkap konektor Logic App yang didukung, lihat