Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure Event Grid MQTT Aracısı HTTP Yayımlama API'si, müşterilerin standart HTTP isteklerini kullanarak Message Queuing Telemetri Aktarımı (MQTT) iletilerini yayımlamasına olanak tanır. Bu özellik doğrudan MQTT istemci bağlantılarını tamamlar. Sunucudan cihaza komut ve denetim, güncelleştirmeler veya korunan ileti yönetimi için HTTP'yi tercih eden sunucu tarafı sistemler için basit ve ölçeklenebilir bir seçenek sağlar.
Önemli avantajlar:
- Arka uç hizmetlerinin, kalıcı MQTT oturumlarını açık tutmadan MQTT iletileri göndermesine izin verir.
- İstemci başına MQTT oturumlarını sınırlayarak aracı kararlılığını korumaya yardımcı olur.
- MQTT ve HTTP kaynaklı iletiler için tutarlı işleme sağlar.
HTTP Yayımlama ne zaman kullanılır?
Aşağıdaki durumlarda HTTP Yayımlama'yı kullanmayı göz önünde bulundurun:
- Arka uç hizmetleriniz HTTP yereldir ve MQTT üzerinden cihaz komutları veya güncelleştirmeleri göndermeniz gerekir.
- MQTT bağlantısı açmadan tutulan iletileri yönetmek istiyorsunuz.
- Oturum sınırlarını tüketmeden yayımlama kapasitesinin ölçeğini artırmanız gerekir.
Nasıl çalışır?
- HTTP istemcileri, MQTT Yayımlama ayrıntılarıyla bir HTTP
POSTisteği yayımlar. - Event Grid, HTTP isteği bölümlerini standart MQTT PUBLISH paket özelliklerine eşler.
- İletiler Event Grid yönlendirme ve zenginleştirme işlem hattı üzerinden akıtılarak teslim garantileri sağlanır ve zenginleştirme veya dönüştürme uygulanır.
Örnek: MQTT Yayımlama eşdeğeri
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
Örnek: HTTP Yayımlama isteği
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
İstek parametreleri
Aşağıdaki tabloda HTTP isteği bölümlerinin MQTT PUBLISH paket özellikleriyle nasıl eşlediği açıklanmaktadır. Tüm ayrıntılar için özgün belgelere bakın.
| MQTT Yayımlama bölümü | Tür/Değerler | Yer | Gerekli | Description |
|---|---|---|---|---|
| Konu adı | Yüzde kodlanmış dize | Sorgu topic |
Evet | Yayımlanması gereken MQTT konusu |
| QoS | 0 veya 1 | Sorgu qos veya üst bilgi mqtt-qos |
Hayır [varsayılan = 1] | Hizmet Kalitesi (QoS) düzeyi |
RETAIN bayrak |
0 veya 1 | Sorgu retain veya üst bilgi mqtt-retain |
Hayır [varsayılan = 0] | İletinin tutulup tutulmayacağı |
| Yanıt konusu | Yüzde kodlanmış dize | Üstbilgi mqtt-response-topic |
Hayı | Gerekirse yanıt konusu |
| Bağıntı verileri | Base64 dizesi | Üstbilgi mqtt-correlation-data |
Hayı | İzleme için ek veriler |
| Kullanıcı özellikleri | Base64 JSON dizisi | Üstbilgi mqtt-user-properties |
Hayı | Özel kullanıcı özellikleri |
| İçerik türü | Dize | Üstbilgi content-type |
Hayı | Yük türü |
| İleti süre sonu aralığı | İşaretsiz tamsayı | Üstbilgi mqtt-message-expiry |
Hayı | Saniye cinsinden saklama süresi |
| Yük biçimi göstergesi | 0 veya 1 | Üstbilgi mqtt-payload-format-indicator |
Hayır [varsayılan = 0] | Biçim göstergesi |
| Yük | byte | HTTP gövdesi | Hayı | İleti gövdesi |
Notes:
- Her ikisi de varsa, sorgu parametresi değerleri üst bilgi değerlerini geçersiz kılar.
- Konu ve yanıt konusu için yüzde kodlaması gereklidir.
- Bağıntı verileri Base64 ile kodlanmış olmalıdır.
HTTP Yayımlama'yı kullanmak için üst düzey adımlar
- Microsoft Entra ID taşıyıcı belirtecinizi kimlik doğrulaması için hazırlayın.
- Event Grid MQTT aracı uç noktanıza HTTP
POSTisteğinizi oluşturun. - Konu gibi gerekli sorgu parametrelerini ekleyin.
- QoS, bayrak,
RETAINyanıt konusu ve kullanıcı özellikleri için isteğe bağlı üst bilgiler ekleyin. - Yükünüzü HTTP gövdesi olarak ekleyin.
- İsteği gönderin.
- Event Grid portalında günlükler ve ölçümler aracılığıyla teslimi onaylayın.
Kimlik doğrulaması ve yetkilendirme
- HTTP Publish kimlik doğrulaması için Microsoft Entra Id kullanır.
- Yetkilendirme üst bilgisinde taşıyıcı belirteci gereklidir.
- Microsoft Entra Nesne Kimliği, MQTT istemci kimliği olur.
- AuthN/AuthZ modeli standart MQTT bağlantılarıyla uyumludur.
Yönlendirme ve gözlemlenebilirlik
Ölçümler ve günlükler şunlardır:
- Protokol:
http-publish - Talep Kimliği
- Konu
- Kaynak IP
- Yetkilendirme sorumlusu
En iyi yöntemler
- Mümkün olduğunda küçük harfli üst bilgi anahtarlarını kullanın. HTTP/2 üst bilgi anahtarları büyük/küçük harfe duyarlı değildir.
- HTTP iletileri doğrudan MQTT iletilerinden daha büyük olma eğiliminde olduğundan aktarım hızını izleyin.
- HTTP Yayımlama'nın doğrudan MQTT tarafından yayımlanan iletilerle aktarım hızı sınırlarını paylaştığını gözlemleyin.
Hız kısıtlama
HTTP Yayımlama, genel MQTT aktarım hızı kotanıza göre sayılır. Sınırları aşmamak için kullanımınızı izleyin.