Pesan peristiwa koneksi perangkat dari Azure IoT Hub menggunakan Azure Cosmos DB
Azure Event Grid membantu Anda membangun aplikasi berbasis peristiwa dan dengan mudah mengintegrasikan peristiwa IoT dalam solusi bisnis Anda. Artikel ini memandu Anda melalui penyiapan menggunakan Cosmos DB, Logic App, IoT Hub Events, dan Raspberry Pi yang disimulasikan untuk mengumpulkan dan menyimpan peristiwa koneksi dan pemutusan perangkat.
Sejak perangkat Anda berjalan, urutan operasi akan diaktifkan:
Perangkat Pi, menggunakan kunci perangkat hub IoT Anda, dimulai lalu dihentikan
Peristiwa IoT Hub menangkap aktivitas perangkat, lalu mengirim permintaan HTTP ke Aplikasi Logika Anda
Aplikasi Logika memproses permintaan HTTP berdasarkan kondisi yang Anda tetapkan
Logic App mencatat koneksi atau peristiwa pemutusan ke dalam dokumen baru di Cosmos DB
Prasyarat
Akun Azure Cosmos DB untuk NoSQL yang aktif. Jika Anda belum membuatnya, lihat Membuat akun database untuk panduan.
Kumpulan dalam database Anda. Lihat Menambahkan koleksi untuk panduan. Saat Anda membuat koleksi, gunakan
/id
untuk kunci partisi.Langganan Azure. Jika Anda belum berlangganan Azure, buat akun gratis sebelum memulai.
Hub IoT di bawah langganan Azure Anda. Buat satu dengan CLI atau portal Azure.
Buat aplikasi logika
Mari kita buat aplikasi logika dan tambahkan pemicu Event Grid yang memantau grup sumber daya untuk komputer virtual Anda.
Membuat sumber daya aplikasi logika
Di portal Azure, pilih +Buat sumber daya, pilih Integrasi lalu Aplikasi Logika.
Lengkapi formulir untuk membuat Aplikasi Logika baru yang mencakup:
Langganan Anda
Grup sumber daya Anda (atau buat yang baru)
Nama Aplikasi Logika yang unik di langganan Anda
Wilayah hub IoT Anda
Tidak untuk mengaktifkan analitik log
Jenis paket Konsumsi
Catatan
Jenis paket Konsumsi adalah opsi yang memungkinkan perancang aplikasi Logika di UI. Jika Anda memilih Standar (default), maka Anda harus membuat alur kerja baru agar perancang aplikasi Logika tersedia.
Pilih Tinjau + Buat untuk meninjau konfigurasi Anda, lalu pilih Buat untuk membuat aplikasi logika.
Sekarang Anda telah membuat sumber daya Azure untuk aplikasi logika. Setelah Azure menyebarkan aplikasi logika Anda, pilih Buka sumber daya. Perancang aplikasi logika menunjukkan templat untuk pola umum sehingga Anda dapat memulai lebih cepat.
Di perancang Aplikasi logika, gulir hingga Anda melihat bagian Templat , lalu pilih Aplikasi Logika Kosong sehingga Anda dapat membuat aplikasi logika dari awal.
Memilih pemicu
Pemicu merupakan peristiwa tertentu yang memulai aplikasi logika Anda. Untuk tutorial ini, pemicu yang mengatur alur kerja menerima permintaan melalui HTTP.
Di bilah pencarian pemicu dan konektor, ketikHTTP.
Pilih permintaan Saat permintaan HTTP diterima sebagai pemicu.
Pilih Gunakan sampel muatan untuk membuat skema.
Tempelkan contoh kode JSON berikut ke dalam kotak teks, lalu pilih Selesai.
JSON ini hanya digunakan sebagai templat, sehingga nilai yang tepat tidak penting.
[{ "id": "fbfd8ee1-cf78-74c6-dbcf-e1c58638ccbd", "topic": "/SUBSCRIPTIONS/DEMO5CDD-8DAB-4CF4-9B2F-C22E8A755472/RESOURCEGROUPS/EGTESTRG/PROVIDERS/MICROSOFT.DEVICES/IOTHUBS/MYIOTHUB", "subject": "devices/Demo-Device-1", "eventType": "Microsoft.Devices.DeviceConnected", "eventTime": "2018-07-03T23:20:11.6921933+00:00", "data": { "deviceConnectionStateEventInfo": { "sequenceNumber": "000000000000000001D4132452F67CE200000002000000000000000000000001" }, "hubName": "MYIOTHUB", "deviceId": "48e44e11-1437-4907-83b1-4a8d7e89859e", "moduleId": "" }, "dataVersion": "1", "metadataVersion": "1" }]
Membuat kondisi
Kondisi membantu menjalankan tindakan tertentu setelah melewati kondisi tertentu tersebut. Untuk artikel ini, kondisinya adalah memeriksa apakah eventType tersambung perangkat atau perangkat terputus. Tindakan yang dijalankan ketika eventType tersebut benar adalah pembuatan dokumen di Azure Cosmos DB. Kondisi ini dibuat di perancang aplikasi Logika.
Pilih + Langkah baru, lalu tab Bawaan , lalu temukan dan pilih kontrol yang disebut Kondisi.
Dalam kondisi Anda, ubah Dan ke Atau, karena kami ingin menangkap peristiwa koneksi atau peristiwa pemutusan dalam satu penguraian.
Pilih di dalam kotak Pilih nilai dan pop up muncul, memperlihatkan konten Dinamis — bidang yang bisa dipilih.
Pilih eventType. Popup ditutup dan Anda melihat Isi ditempatkan di Pilih output dari langkah sebelumnya, secara otomatis. Pilih Kondisi untuk membuka kembali pernyataan kondisional Anda.
Pertahankan sama dengan nilai.
Ketik microsoft.Devices.DeviceConnected sebagai nilai terakhir dari baris tersebut.
Pilih + Tambahkan untuk menambahkan baris lain.
Baris kedua ini mirip dengan baris pertama, kecuali kita mencari peristiwa pemutusan sambungan.
Gunakan eventType, sama dengan, dan Microsoft.Devices.DeviceDisconnected untuk nilai baris.
Dalam dialog jika benar, klik Tambahkan tindakan.
Cari Cosmos DB dan pilih Azure Cosmos DB — Buat atau perbarui dokumen (V3)
Anda melihat panel Buat atau perbarui dokumen (V3). Masukkan nilai-nilai ini untuk bidang:
Nama akun Azure Cosmos DB: {Tambahkan nama akun Anda}
ID Database: ToDoList
ID Koleksi: Items
Dokumen: Pilih
Current item
dari daftar parameter konten dinamisSimpan aplikasi logika Anda.
Menyalin URL HTTP
Sebelum meninggalkan Logic Apps Designer, salin URL yang didengarkan oleh aplikasi logika Anda untuk pemicu. Anda menggunakan URL ini untuk mengonfigurasi Event Grid.
Perluas kotak Konfigurasi pemicu Saat permintaan HTTP diterima dengan memilihnya.
Salin nilai URL HTTP POST dengan memilih tombol salin di sampingnya.
Simpan URL ini sehingga Anda dapat menggunakannya di bagian berikutnya.
Mengonfigurasi langganan untuk peristiwa IoT Hub
Di bagian ini, Anda mengonfigurasi IoT Hub untuk menerbitkan peristiwa saat terjadi.
Di portal Azure, navigasi ke hub IoT Anda.
PilihPeristiwa.
Pilih + Langganan peristiwa.
Isi Detail Langganan Peristiwa: berikan Nama deskriptif dan pilih Skema Event Grid sebagai Skema Peristiwa.
Buat Nama Topik Sistem untuk sumber daya hub IoT Anda.
Isi bidang Jenis Peristiwa. Di daftar drop-down, pilih hanya Perangkat yang Tersambung dan Perangkat yang Terputus dari menu. Klik di tempat lain di layar untuk menutup daftar dan menyimpan pilihan Anda.
Untuk Detail Titik Akhir, pilih Jenis Titik Akhir sebagai Web Hook dan klik pilih titik akhir dan tempelkan URL yang Anda salin dari aplikasi logika Anda dan konfirmasi pilihan.
Formulir sekarang akan terlihat mirip dengan contoh berikut:
Pilih Buat untuk menyimpan langganan peristiwa.
Penting
Tunggu beberapa menit hingga peristiwa Anda diproses sebelum menjalankan perangkat Anda. Setiap kali layanan Azure dibuat atau diubah, memulai langkah berikutnya dalam alur Anda terlalu cepat dapat mengakibatkan kesalahan yang tidak perlu. Misalnya, jika hub IoT Anda tidak dalam status aktif, hub IoT Anda tidak akan siap untuk menerima peristiwa. Periksa halaman Gambaran Umum hub IoT Anda untuk melihat apakah hub IoT Anda dalam keadaan aktif atau tidak. Jika tidak, Anda akan melihat peringatan di bagian atas halaman.
Menjalankan perangkat dan mengamati peristiwa
Setelah langganan peristiwa Anda disiapkan, mari kita uji dengan menyambungkan perangkat.
Mendaftarkan perangkat di IoT Hub
Dari IoT hub Anda, pilih Perangkat.
Pilih + Tambahkan Perangkat di bagian atas panel.
Untuk ID Perangkat, masukkan
Demo-Device-1
.Pilih Simpan.
Klik perangkat lagi; sekarang string koneksi dan kunci akan diisi. Salin dan simpan String Koneksi Utama untuk digunakan nanti.
Memulai simulator Raspberry Pi
Mari kita gunakan simulator web Raspberry Pi untuk menyimulasikan koneksi perangkat.
Memulai simulator Raspberry Pi
Menjalankan aplikasi contoh pada simulator web Raspberry Pi
Aplikasi sampel ini akan memicu peristiwa yang terhubung dengan perangkat.
Di area pengodean, ganti tempat penampung di Baris 15 dengan string koneksi perangkat Azure IoT Hub yang Anda simpan di akhir bagian sebelumnya.
Jalankan aplikasi dengan memilih Jalankan.
Anda melihat sesuatu yang mirip dengan output berikut yang menunjukkan data sensor dan pesan yang dikirim ke hub IoT Anda.
Anda dapat memeriksa halaman Gambaran Umum Aplikasi Logika untuk memeriksa apakah logika Anda sedang dipicu. Ini akan mengatakan Berhasil atau Gagal. Memeriksa di sini memungkinkan Anda mengetahui status aplikasi logika Anda jika pemecahan masalah diperlukan. Harapkan penundaan 15-30 detik dari saat pemicu Anda berjalan. Jika Anda perlu memecahkan masalah aplikasi logika, lihat artikel Memecahkan masalah kesalahan ini.
Pilih Hentikan untuk menghentikan simulator, yang memicu peristiwa Perangkat Terputus . Kejadian ini akan masuk ke halaman Gambaran Umum Aplikasi Logika, sama seperti peristiwa koneksi yang dicatat di sana.
Anda sekarang telah menjalankan aplikasi sampel untuk mengumpulkan peristiwa koneksi dan pemutusan sambungan perangkat Anda, yang masuk ke hub IoT Anda.
Mengamati peristiwa di Azure Cosmos DB
Anda dapat melihat hasil aplikasi logika yang dijalankan di dokumen Cosmos DB Anda. Dokumen muncul di kumpulan Item Saat Anda merefresh halaman. Setiap peristiwa status koneksi menghasilkan dokumen baru yang diberi yang unik id
. Gambar berikut menunjukkan dokumen yang dibuat saat perangkat dimulai (tersambung). Jenis peristiwa yang terhubung tercantum dalam output JSON.
Menggunakan Azure CLI
Alih-alih menggunakan portal Azure, Anda dapat menyelesaikan langkah-langkah IoT Hub menggunakan Azure CLI. Untuk detailnya, lihat halaman Azure CLI untuk membuat langganan peristiwa dan membuat perangkat IoT.
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.
Aplikasi logika
Jika Anda tidak ingin kehilangan pekerjaan pada aplikasi logika, nonaktifkan alih-alih menghapusnya.
Navigasi ke aplikasi logika Anda.
Pada bilah Gambaran Umum, pilih Hapus atau Nonaktifkan.
Setiap langganan hanya dapat memiliki satu hub IoT gratis. Jika Anda membuat hub gratis untuk tutorial ini, Anda tidak perlu menghapusnya untuk mencegah biaya.
Hub IoT atau Event Grid
Navigasi ke IoT Hub Anda.
Di bilah Gambaran Umum, pilih Hapus.
Meskipun Anda menyimpan hub IoT, Anda mungkin ingin menghapus langganan peristiwa yang Anda buat. Di hub IoT Anda, pilih Event Grid.
Pilih langganan peristiwa yang ingin Anda hapus, lalu pilih Hapus.
Cosmos DB
Untuk menghapus akun Azure Cosmos DB dari portal Azure, buka sumber daya Anda dan pilih Hapus akun dari bilah menu atas. Lihat petunjuk mendetail untuk menghapus akun Azure Cosmos DB.
Langkah berikutnya
Pelajari lebih lanjut tentangBereaksi terhadap peristiwa IoT Hub dengan menggunakan Event Grid untuk memicu tindakan
Pelajari tentang hal lain yang dapat Anda lakukan denganEvent Grid
Pelajari cara menggunakan Event Grid dan Azure Monitor untuk Memantau, mendiagnosis, dan memecahkan masalah konektivitas perangkat ke IoT Hub