Mulai cepat: Menerbitkan dan berlangganan pesan MQTT di Namespace Layanan Event Grid dengan portal Azure
Dalam artikel ini, Anda menggunakan portal Azure untuk melakukan tugas berikut:
- Membuat namespace Layanan Event Grid dan mengaktifkan broker MQTT
- Membuat sub sumber daya seperti klien, grup klien, dan ruang topik
- Memberikan akses kepada klien untuk menerbitkan dan berlangganan ruang topik
- Menerbitkan dan menerima pesan antar klien
Prasyarat
- Buat akun gratis Azure Jika Anda tidak memiliki langganan Azure.
- Baca gambaran umum Event Grid sebelum memulai tutorial ini, jika Anda baru menggunakan Azure Event Grid.
- Pastikan port 8883 terbuka di firewall Anda. Sampel dalam tutorial ini menggunakan protokol MQTT, yang berkomunikasi melalui port 8883. Port ini dapat diblokir di beberapa lingkungan jaringan perusahaan dan pendidikan.
- Anda memerlukan sertifikat klien X.509 untuk menghasilkan thumbprint dan mengautentikasi koneksi klien.
Membuat sampel sertifikat klien dan thumbprint
Jika Anda belum memiliki sertifikat, Anda dapat membuat sertifikat sampel menggunakan langkah CLI. Pertimbangkan untuk menginstal secara manual untuk Windows.
Setelah penginstalan Langkah berhasil, Anda harus membuka perintah di folder profil pengguna Anda (Jenis Win+R %USERPROFILE%).
Untuk membuat sertifikat akar dan menengah, jalankan perintah berikut. Ingat kata sandi, yang perlu digunakan pada langkah berikutnya.
step ca init --deployment-type standalone --name MqttAppSamplesCA --dns localhost --address 127.0.0.1:443 --provisioner MqttAppSamplesCAProvisioner
Gunakan file CA yang dihasilkan untuk membuat sertifikat untuk klien pertama. Pastikan untuk menggunakan jalur yang benar untuk file sertifikasi dan rahasia dalam perintah.
step certificate create client1-authn-ID client1-authn-ID.pem client1-authn-ID.key --ca .step/certs/intermediate_ca.crt --ca-key .step/secrets/intermediate_ca_key --no-password --insecure --not-after 2400h
Untuk melihat thumbprint, jalankan perintah Langkah.
step certificate fingerprint client1-authn-ID.pem
Sekarang, buat sertifikat untuk klien kedua.
step certificate create client2-authn-ID client2-authn-ID.pem client2-authn-ID.key --ca .step/certs/intermediate_ca.crt --ca-key .step/secrets/intermediate_ca_key --no-password --insecure --not-after 2400h
Untuk melihat thumbprint yang akan digunakan dengan klien kedua, jalankan perintah Langkah.
step certificate fingerprint client2-authn-ID.pem
Membuat namespace
Masuk ke portal Microsoft Azure.
Di bilah pencarian, ketik Namespace Layanan Event Grid, lalu pilih Namespace Layanan Event Grid dari daftar drop-down.
Pada halaman Namespace Layanan Event Grid, pilih + Buat pada toolbar.
Pada halaman Buat namespace layanan, ikuti langkah-langkah berikut:
Pilih langganan Azure Anda.
Pilih grup sumber daya yang sudah ada atau pilih Buat baru dan masukkan nama untuk grup sumber daya.
Berikan nama unik untuk namespace layanan. Nama namespace harus unik per wilayah karena mewakili entri DNS. Jangan gunakan nama yang ditampilkan dalam gambar. Sebagai gantinya, buat nama Anda sendiri - harus antara 3-50 karakter dan hanya berisi nilai a-z, A-Z, 0-9, dan
-
.Pilih lokasi untuk namespace Layanan Event Grid. Saat ini, namespace Layanan Event Grid hanya tersedia di wilayah tertentu.
Pilih Tinjau + buat di bagian bawah halaman.
Pada tab Tinjau + buat dari halaman Buat namespace , pilih Buat.
Catatan
Agar Mulai Cepat tetap sederhana, Anda hanya akan menggunakan halaman Dasar untuk membuat namespace. Untuk langkah-langkah terperinci tentang mengonfigurasi jaringan, keamanan, dan pengaturan lain di halaman panduan lainnya, lihat Membuat Namespace.
Setelah penyebaran berhasil, pilih Buka sumber daya untuk menavigasi ke halaman Gambaran Umum Namespace Event Grid untuk namespace Anda.
Di halaman Gambaran Umum, Anda melihat bahwa broker MQTT dalam status Dinonaktifkan . Untuk mengaktifkan broker MQTT, pilih tautan Dinonaktifkan , ini akan mengarahkan Anda ke halaman Konfigurasi.
Pada halaman Konfigurasi , pilih opsi Aktifkan broker MQTT, lalu pilih Terapkan untuk menerapkan pengaturan.
Membuat klien
Di menu sebelah kiri, pilih Klien di bagian broker MQTT.
Pada halaman Klien , pilih + Klien pada toolbar.
Pada halaman Buat klien , masukkan nama untuk klien. Nama klien harus unik di namespace layanan.
Nama autentikasi klien default ke nama klien. Untuk tutorial ini, ubah menjadi
client1-authn-ID
. Anda perlu menyertakan nama ini sepertiUsername
dalam paket CONNECT.Dalam tutorial ini, Anda menggunakan autentikasi berbasis thumbprint. Sertakan thumbprint sertifikat klien pertama dalam Thumbprint Utama.
Pilih Buat pada toolbar untuk membuat klien lain.
Ulangi langkah-langkah di atas untuk membuat klien kedua bernama
client2
. Ubah nama autentikasi menjadiclient2-authn-ID
dan sertakan thumbprint sertifikat klien kedua dalam Thumbprint Utama.Catatan
- Agar Mulai Cepat tetap sederhana, Anda akan menggunakan kecocokan Thumbprint untuk autentikasi. Untuk langkah-langkah terperinci tentang menggunakan rantai sertifikat CA X.509 untuk autentikasi klien, lihat autentikasi klien menggunakan rantai sertifikat.
- Selain itu, kami menggunakan grup klien default
$all
, yang mencakup semua klien di namespace layanan untuk latihan ini. Untuk mempelajari selengkapnya tentang membuat grup klien kustom menggunakan atribut klien, lihat grup klien.
Membuat spasi topik
Di menu sebelah kiri, pilih Ruang topik di bagian broker MQTT.
Pada halaman Spasi topik, pilih + Ruang topik pada toolbar.
Berikan nama untuk ruang topik, pada halaman Buat ruang topik.
Pilih + Tambahkan templat topik.
Masukkan
contosotopics/topic1
untuk templat topik, lalu pilih Buat untuk membuat ruang topik.
Mengonfigurasi kontrol akses menggunakan pengikatan izin
Di menu sebelah kiri, pilih Pengikatan izin di bagian broker MQTT.
Pada halaman Pengikatan izin, pilih + Pengikatan izin pada toolbar.
Konfigurasikan pengikatan izin sebagai berikut:
Berikan nama untuk pengikatan izin. Contohnya,
contosopublisherbinding
.Untuk nama grup klien, pilih $all.
Untuk Nama ruang topik, pilih ruang topik yang Anda buat di langkah sebelumnya.
Berikan izin Publisher ke grup klien pada ruang topik.
Pilih Buat untuk membuat pengikatan izin.
Buat satu lagi pengikatan izin (
contososubscriberbinding
) dengan memilih + Pengikatan izin pada toolbar.Berikan nama dan berikan akses pelanggan grup klien $all ke ContosoTopicSpace seperti yang ditunjukkan.
Pilih Buat untuk membuat pengikatan izin.
Koneksi klien ke Namespace layanan EG menggunakan aplikasi MQTTX
Untuk menerbitkan/berlangganan pesan MQTT, Anda dapat menggunakan salah satu alat favorit Anda. Untuk tujuan demonstrasi, publikasikan / berlangganan ditampilkan menggunakan aplikasi MQTTX, yang dapat diunduh dari https://mqttx.app/.
Mengonfigurasi client1 dengan
Nama sebagai
client1
(nilai ini bisa apa saja)ID Klien sebagai
client1-session1
(ID Klien dalam paket CONNECT digunakan untuk mengidentifikasi ID sesi untuk koneksi klien)Nama pengguna sebagai
client1-authn-ID
. Nilai ini harus cocok dengan nilai Nama Autentikasi Klien yang Anda tentukan saat membuat klien di portal Azure.Penting
Nama pengguna harus cocok dengan nama autentikasi klien dalam metadata klien.
Perbarui nama host ke nama host MQTT dari halaman Gambaran Umum namespace.
Perbarui port ke 8883.
Alihkan SSL/TLS ke AKTIF.
Alihkan SSL Secure ke AKTIF, untuk memastikan validasi sertifikat layanan.
Pilih Sertifikat sebagai Ditandatangani Sendiri.
Berikan jalur untuk file sertifikat klien.
Berikan jalur untuk file kunci klien.
Pengaturan lainnya dapat dibiarkan dengan nilai default yang telah ditentukan sebelumnya.
Pilih Koneksi untuk menghubungkan klien ke broker MQTT.
Ulangi langkah-langkah di atas untuk menyambungkan klien kedua2, dengan informasi autentikasi yang sesuai seperti yang ditunjukkan.
Menerbitkan/berlangganan menggunakan aplikasi MQTTX
Setelah menyambungkan klien, untuk klien2, pilih tombol + Langganan Baru.
Tambahkan
contosotopics/topic1
sebagai topik dan pilih Konfirmasi. Anda dapat meninggalkan bidang lain dengan nilai default yang sudah ada.Pilih klien1 di rel kiri.
Untuk klien1, di atas kotak tulis pesan, ketik
contosotopics/topic1
sebagai topik untuk diterbitkan.Buat pesan. Anda dapat menggunakan format apa pun atau JSON seperti yang ditunjukkan.
Pilih tombol Kirim.
Pesan harus dilihat sebagai diterbitkan di klien 1.
Beralih ke klien2. Konfirmasikan bahwa klien2 menerima pesan.
Langkah berikutnya
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk