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.
AZURE Event Grid MQTT Broker HTTP Publish API memberdayakan pelanggan untuk menerbitkan pesan Message Queuing Telemetry Transport (MQTT) dengan menggunakan permintaan HTTP standar. Kemampuan ini melengkapi koneksi klien MQTT langsung. Ini menyediakan opsi sederhana dan dapat diskalakan untuk sistem sisi server yang lebih memilih HTTP untuk perintah dan kontrol server-ke-perangkat, pembaruan, atau manajemen pesan yang dipertahankan.
Nota
Fitur ini masih dalam mode pratinjau.
Manfaat utama:
- Memungkinkan layanan back-end mengirim pesan MQTT tanpa membuka sesi MQTT persisten.
- Membantu melindungi stabilitas broker dengan membatasi sesi MQTT per klien.
- Memastikan pemrosesan yang konsisten untuk pesan yang berasal dari MQTT dan HTTP.
Kapan menggunakan PENERBITAN HTTP
Pertimbangkan untuk menggunakan HTTP Publish saat:
- Layanan back-end Anda adalah HTTP asli dan perlu mengirim perintah perangkat atau pembaruan melalui MQTT.
- Anda ingin mengelola pesan yang dipertahankan tanpa membuka koneksi MQTT.
- Anda perlu meningkatkan kapasitas penerbitan tanpa menghabiskan batas sesi.
Cara kerjanya
- Klien HTTP mengeluarkan permintaan HTTP
POSTdengan detail Terbitkan MQTT. - Event Grid memetakan bagian permintaan HTTP ke properti paket MQTT PUBLISH standar.
- Pesan mengalir melalui alur perutean dan pengayaan Event Grid, yang memastikan jaminan pengiriman dan menerapkan pengayaan atau transformasi apa pun.
Contoh: MQTT Publish setara
PUBLISH Topic Name: devices/CXa-23112/prompt
QoS: 1
RETAIN: 0
Response Topic: devices/CXa-23112/reply
Correlation Data: >U±¶¶»/
User Property: Urgency = alert
User Property: RequestId = 55f4a7ee-b0b4-4d7f-8eb5-2edba2ced5d7
Payload: Please accept terms of licensing and agreement
Contoh: Permintaan Penerbitan HTTP
POST /mqtt/messages?topic=devices%2FCXa-23112%2Fprompt&api-version=2025-02-15-preview HTTP/1.1
Host: nsname.westus3-1.ts.eventgrid.azure.net
Authorization: Bearer <ENTRA_TOKEN_HERE>
mqtt-qos: 1
mqtt-retain: 0
mqtt-response-topic: devices%2FCXa-23112%2Freply
mqtt-correlation-data: PlXCscK2wrbCuy8=
mqtt-user-properties: W3siVXJnZW5jeSI6ImFsZXJ0In0seyJSZXF1ZXN0SWQiOiI1NWY0YTdlZS1iMGI0LTRkN2YtOGViNS0yZWRiYTJjZWQ1ZDcifV0=
Content-Type: text/plain;charset=UTF-8
Date: Sun, 06 Nov 1994 08:49:37 GMT
Content-Length: 46
Please accept terms of licensing and agreement
Parameter permintaan tersebut
Tabel berikut ini menjelaskan bagaimana bagian permintaan HTTP memetakan ke properti paket MQTT PUBLISH. Lihat dokumentasi asli untuk detail selengkapnya.
| Bagian Terbitkan MQTT | Jenis/Nilai | Lokasi | Diperlukan | Description |
|---|---|---|---|---|
| Nama topik | String yang dikodekan persen | Kueri topic |
Ya | Topik MQTT untuk dipublikasikan |
| QoS | 0 atau 1 | Kueri qos atau header mqtt-qos |
Tidak [default = 1] | Tingkat Kualitas Layanan (QoS) |
RETAIN bendera |
0 atau 1 | Kueri retain atau header mqtt-retain |
Tidak [default = 0] | Apakah akan mempertahankan pesan |
| Topik respons | String yang dikodekan persen | Header mqtt-response-topic |
Tidak. | Topik respons jika diperlukan |
| Data korelasi | String Base64 | Header mqtt-correlation-data |
Tidak. | Data tambahan untuk pelacakan |
| Properti pengguna | Array JSON Base64 | Judul mqtt-user-properties |
Tidak. | Properti pengguna kustom |
| Jenis konten | string | Header content-type |
Tidak. | Jenis payload |
| Interval kedaluwarsa pesan | Bilangan bulat tidak ditandatangani | Header mqtt-message-expiry |
Tidak. | Periode retensi dalam hitungan detik |
| Indikator format payload | 0 atau 1 | Header mqtt-payload-format-indicator |
Tidak [default = 0] | Indikator format |
| Payload | Bita | Isi HTTP | Tidak. | Isi pesan |
Notes:
- Nilai parameter kueri mengambil alih nilai header jika keduanya ada.
- Pengodean persen diperlukan untuk topik dan topik respons.
- Data korelasi harus dikodekan Base64.
Langkah-langkah tingkat tinggi untuk menggunakan HTTP Publish
- Siapkan token pembawa ID Microsoft Entra Anda untuk autentikasi.
- Buat permintaan HTTP
POSTAnda ke titik akhir broker Event Grid MQTT Anda. - Sertakan parameter kueri yang diperlukan, seperti topik.
- Tambahkan header opsional untuk QoS,
RETAINbendera, topik respons, dan properti pengguna. - Tambahkan payload Anda sebagai isi HTTP.
- Kirim permintaan.
- Konfirmasi pengiriman melalui log dan metrik di portal Event Grid.
Autentikasi dan otorisasi
- PENERBITAN HTTP menggunakan ID Microsoft Entra untuk autentikasi.
- Token pembawa diperlukan di header otorisasi.
- ID Objek Microsoft Entra menjadi ID klien MQTT.
- Model AuthN/AuthZ selaras dengan koneksi MQTT standar.
Perutean dan pengamatan
Metrik dan log meliputi:
- Protokol:
http-publish - Nomor ID Permintaan
- Topik
- Alamat IP Sumber
- Perwakilan otorisasi
Praktik terbaik
- Gunakan tombol header huruf kecil jika memungkinkan. Kunci header HTTP/2 tidak peka huruf besar/kecil.
- Pantau throughput karena pesan HTTP cenderung lebih besar dari pesan MQTT langsung.
- Amati bahwa HTTP Publish berbagi batas throughput dengan pesan langsung yang diterbitkan MQTT.
Pengendalian kecepatan
HTTP Publish menghitung kuota throughput MQTT Anda secara keseluruhan. Pantau penggunaan Anda untuk menghindari melebihi batas.