Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Perutean pesan memungkinkan Anda mengirim pesan dari perangkat Anda ke layanan cloud secara otomatis, dapat diskalakan, dan andal. Perutean pesan dapat digunakan untuk:
Kirim pesan telemetri perangkat dan peristiwa ke titik akhir bawaan dan titik akhir kustom. Peristiwa yang dapat dirutekan termasuk peristiwa siklus hidup perangkat, peristiwa perubahan kembar perangkat, peristiwa perubahan kembar digital, dan peristiwa status koneksi perangkat.
Filter data sebelum merutekannya dengan menerapkan kueri kaya. Perutean pesan memungkinkan Anda untuk menanyakan properti pesan dan isi pesan serta tag kembar perangkat dan properti kembar perangkat. Untuk informasi selengkapnya, lihat kueri dalam perutean pesan.
IoT Hub mendefinisikan format umum untuk semua olahpesan perangkat ke cloud untuk interoperabilitas lintas protokol. Untuk informasi selengkapnya, lihat Membuat dan membaca pesan IoT Hub.
Catatan
Beberapa fitur yang disebutkan dalam artikel ini, seperti pesan cloud-ke-perangkat, kembar perangkat, dan manajemen perangkat, hanya tersedia di tingkat standar IoT Hub. Untuk informasi selengkapnya tentang tingkat IoT Hub dasar dan standar/gratis, lihat Memilih tingkat dan ukuran IoT Hub yang tepat untuk solusi Anda.
Titik akhir pengaturan rute
Setiap hub IoT memiliki titik akhir perutean default yang disebut messages/events yang kompatibel dengan Event Hubs. Anda juga dapat membuat titik akhir kustom yang menunjuk ke layanan lain di langganan Azure Anda.
IoT Hub saat ini mendukung titik akhir berikut untuk perutean pesan:
- Titik akhir bawaan
- Kontainer penyimpanan
- Antrean Azure Service Bus
- Topik Azure Service Bus
- Pusat Aktivitas
- Cosmos DB
Untuk informasi selengkapnya tentang masing-masing titik akhir ini, lihat Titik akhir IoT Hub.
Setiap pesan dirutekan ke semua titik akhir yang kueri peruteannya cocok, yang berarti bahwa pesan dapat dirutekan ke beberapa titik akhir. Namun, jika pesan cocok dengan beberapa rute yang menunjuk ke titik akhir yang sama, IoT Hub mengirimkan pesan ke titik akhir tersebut hanya sekali.
IoT Hub memerlukan akses tulis ke titik akhir layanan ini agar pengalihan pesan berfungsi. Jika Anda mengonfigurasi endpoint melalui portal Azure, izin yang diperlukan akan secara otomatis ditambahkan untuk Anda. Jika Anda mengonfigurasi titik akhir menggunakan PowerShell atau Azure CLI, Anda perlu memberikan izin akses tulis.
Untuk mempelajari cara membuat titik akhir, lihat Mengelola rute dan titik akhir menggunakan portal Microsoft Azure.
Pastikan Anda mengonfigurasi layanan untuk mendukung throughput yang diharapkan. Misalnya, jika Anda menggunakan Azure Event Hubs sebagai titik akhir kustom, Anda harus mengonfigurasi unit throughput untuk hub peristiwa tersebut sehingga dapat menangani masuknya peristiwa yang anda rencanakan untuk dikirim melalui perutean pesan IoT Hub. Demikian pula, saat menggunakan antrean Azure Service Bus sebagai titik akhir, Anda harus mengonfigurasi ukuran maksimum untuk memastikan antrean dapat menahan semua data yang dimasukkan, hingga keluar oleh konsumen. Saat pertama kali mengonfigurasi solusi IoT, Anda mungkin perlu memantau titik akhir Anda yang lain dan melakukan penyesuaian untuk beban aktual.
Jika titik akhir kustom Anda memiliki konfigurasi firewall, pertimbangkan untuk menggunakan pengecualian pihak pertama tepercaya Microsoft.
Merutekan ke titik akhir di langganan lain
Jika sumber daya titik akhir berada dalam langganan yang berbeda dari hub IoT Anda, Anda dapat menggunakan metode autentikasi yang berbeda tergantung pada persyaratan keamanan Anda:
Autentikasi berbasis kunci: Anda dapat menggunakan string koneksi untuk mengautentikasi ke titik akhir di langganan yang berbeda atau bahkan penyewa yang berbeda. Metode ini menggunakan kunci akses titik akhir atau string koneksi untuk autentikasi.
Identitas terkelola yang ditetapkan pengguna: Untuk keamanan yang ditingkatkan, Anda dapat mengonfigurasi hub IoT Anda sebagai layanan Microsoft tepercaya dan menggunakan identitas terkelola yang ditetapkan pengguna untuk autentikasi. Metode ini memerlukan konfigurasi identitas terkelola sebelum membuat titik akhir kustom.
Untuk informasi selengkapnya tentang autentikasi identitas terkelola, lihat Konektivitas keluar dari IoT Hub ke sumber daya Azure lainnya.
Kueri perutean
Perutean pesan IoT Hub menyediakan kemampuan kueri untuk memfilter data sebelum merutekannya ke titik akhir. Setiap kueri perutean memiliki properti berikut:
| Property | Deskripsi |
|---|---|
| Nama | Nama unik yang mengidentifikasi kueri. |
| Sumber | Asal aliran data yang akan ditindaklanjuti. Misalnya, telemetri perangkat. |
| Kondisi | Ekspresi kueri untuk kueri perutean yang dijalankan terhadap properti aplikasi pesan, properti sistem, isi pesan, tag kembar perangkat, dan properti kembar perangkat untuk menentukan apakah cocok dengan titik akhir. |
| Titik Akhir | Nama titik akhir tempat IoT Hub mengirim pesan yang cocok dengan kueri. Kami menyarankan agar Anda memilih titik akhir di wilayah yang sama dengan IoT Hub Anda. |
Satu pesan dapat mencocokkan kondisi pada beberapa kueri perutean, dalam hal ini IoT Hub mengirimkan pesan ke titik akhir yang terkait dengan setiap kueri yang cocok. IoT Hub juga secara otomatis menghilangkan duplikasi dalam pengiriman pesan. Jika pesan cocok dengan beberapa kueri yang memiliki tujuan yang sama, IoT Hub hanya mengirimkannya sekali ke tujuan tersebut.
Untuk informasi selengkapnya, lihat Sintaks kueri perutean pesan IoT Hub.
Membaca data yang dirutekan
Gunakan artikel berikut untuk mempelajari cara membaca pesan dari titik akhir.
Membaca dari titik akhir bawaan
Membaca dari penyimpanan Blob
Membaca dari Azure Event Hubs
Membaca dari antrean Azure Service Bus
Membaca dari topik Azure Service Bus
Rute cadangan
Rute fallback mengirim semua pesan yang tidak memenuhi kondisi kueri di salah satu rute yang ada ke titik akhir bawaan (pesan/kegiatan), yang kompatibel dengan Event Hubs. Jika perutean pesan diaktifkan, Anda dapat mengaktifkan kemampuan rute fallback. Setelah rute dibuat, data berhenti mengalir ke titik akhir bawaan, kecuali rute dibuat ke titik akhir tersebut. Jika tidak ada rute ke titik akhir bawaan dan rute fallback diaktifkan, hanya pesan yang tidak cocok dengan kondisi kueri dari rute mana pun yang dikirim ke titik akhir bawaan. Bahkan jika semua rute yang ada dihapus, kemampuan rute fallback harus diaktifkan untuk menerima semua data di titik akhir bawaan.
Anda dapat mengaktifkan atau menonaktifkan rute fallback di portal Microsoft Azure di halaman Perutean pesan. Anda juga dapat menggunakan Azure Resource Manager untuk FallbackRouteProperties untuk menggunakan titik akhir kustom untuk rute fallback.
Kejadian non-telemetri
Selain telemetri perangkat, perutean pesan juga memungkinkan pengiriman peristiwa nontelemetry, termasuk:
- Peristiwa perubahan kembar perangkat
- Kejadian siklus hidup perangkat
- Peristiwa siklus hidup pekerjaan perangkat
- Peristiwa perubahan kembar digital
- Kejadian status koneksi perangkat
Misalnya, jika rute dibuat dengan sumber data yang diatur ke Device Twin Change Events, IoT Hub mengirim pesan ke titik akhir yang berisi perubahan pada device twin. Demikian pula, jika rute dibuat dengan sumber data yang diatur ke Peristiwa Siklus Hidup Perangkat, IoT Hub mengirimkan pesan yang menunjukkan apakah perangkat atau modul dihapus atau dibuat. Untuk informasi selengkapnya tentang peristiwa siklus hidup perangkat, lihat Pemberitahuan siklus hidup perangkat dan modul.
Saat menggunakan Azure IoT Plug and Play, pengembang dapat membuat rute dengan sumber data yang diatur ke Peristiwa Perubahan Kembar Digital dan IoT Hub mengirim pesan setiap kali properti kembar digital diatur atau diubah, kembar digital diganti, atau ketika peristiwa perubahan terjadi untuk perangkat kembar yang mendasar. Terakhir, jika rute dibuat dengan diatur sumber data ke Peristiwa Status Koneksi Perangkat, IoT Hub mengirimkan pesan yang menunjukkan apakah perangkat tersebut tersambung atau terputus.
IoT Hub juga terintegrasi dengan Azure Event Grid untuk menerbitkan peristiwa perangkat guna mendukung integrasi waktu nyata dan otomatisasi alur kerja berdasarkan peristiwa ini. Untuk mempelajari layanan mana yang paling sesuai untuk skenario Anda, lihat perbedaan antara perutean pesan dan Event Grid.
Batasan untuk peristiwa status sambungan perangkat
Peristiwa status koneksi perangkat tersedia untuk perangkat yang terhubung menggunakan protokol MQTT atau AMQP, atau menggunakan salah satu dari protokol ini melalui WebSockets. Permintaan yang dibuat hanya dengan HTTPS tidak memicu pemberitahuan status koneksi perangkat. Agar IoT Hub mulai mengirim peristiwa status koneksi perangkat, setelah membuka koneksi, perangkat harus memanggil operasi pesan terima cloud-ke-perangkat atau operasi telemetri kirim perangkat ke cloud . Di luar SDK Azure IoT, di MQTT operasi ini sama dengan operasi SUBSCRIBE atau PUBLISH pada topik pesan yang sesuai. Melalui AMQP, operasi ini sama dengan melampirkan atau mentransfer pesan pada jalur tautan yang sesuai. Untuk informasi lebih lanjut, baca artikel berikut:
IoT Hub tidak melaporkan setiap peristiwa koneksi dan pemutusan perangkat individual, melainkan menerbitkan status koneksi saat ini yang diambil pada rekam jepret berkala 60 detik. Menerima peristiwa status koneksi yang sama dengan nomor urutan yang berbeda atau peristiwa status koneksi yang berbeda berarti bahwa ada perubahan dalam status koneksi perangkat selama jendela 60 detik.
Menguji rute
Saat Anda membuat rute baru atau mengedit rute yang sudah ada, Anda harus menguji kueri rute dengan pesan sampel. Anda dapat menguji rute individu atau menguji semua rute sekaligus dan tidak ada pesan yang dirutekan ke titik akhir selama pengujian. portal Azure, Azure Resource Manager, Azure PowerShell, dan Azure CLI dapat digunakan untuk pengujian. Hasil membantu mengidentifikasi apakah pesan sampel cocok atau tidak cocok dengan kueri, atau jika pengujian tidak dapat dijalankan karena contoh pesan atau sintaks kueri salah. Untuk mempelajari lebih lanjut, lihat Menguji Rute dan Menguji Semua Rute.
Latency
Saat Anda merutekan pesan telemetri perangkat ke cloud, ada sedikit peningkatan latensi end-to-end setelah pembuatan rute pertama.
Dalam kebanyakan kasus, peningkatan rata-rata latensi kurang dari 500 milidetik. Tetapi, latensi yang Anda alami dapat bervariasi dan dapat lebih tinggi bergantung pada tingkat IoT hub dan arsitektur solusi Anda. Anda dapat memantau latensi menggunakan metrik Perutean: latensi pesan untuk pesan/peristiwa atau d2c.endpoints.latency.builtIn.events IoT Hub. Membuat atau menghapus rute apa pun setelah rute pertama tidak memengaruhi latensi end-to-end.
Memantau dan memecahkan masalah
IoT Hub menyediakan beberapa metrik yang terkait dengan perutean dan titik akhir untuk memberi Anda ringkasan tentang kesehatan hub dan pesan yang dikirim. Anda juga dapat melacak kesalahan yang terjadi selama evaluasi kueri perutean dan kesehatan titik akhir seperti yang dirasakan oleh IoT Hub dengan kategori rute di log sumber daya IoT Hub. Untuk mempelajari selengkapnya tentang menggunakan metrik dan log sumber daya dengan IoT Hub, lihat Memantau Azure IoT Hub.
Anda dapat menggunakan REST API Get Endpoint Health untuk mendapatkan status kesehatan titik akhir.
Gunakan panduan pemecahan masalah untuk perutean untuk detail dan dukungan selengkapnya untuk perutean pemecahan masalah.