Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Azure Event Grid MQTT Broker HTTP Publish-API:et ger kunderna möjlighet att publicera MQTT-meddelanden (Message Queuing Telemetry Transport) med hjälp av http-standardbegäranden. Den här funktionen kompletterar direkta MQTT-klientanslutningar. Det ger ett enkelt och skalbart alternativ för system på serversidan som föredrar HTTP för kommando och kontroll från server till enhet, uppdateringar eller kvarhållen meddelandehantering.
Anmärkning
Den här funktionen är för närvarande i förhandsversion.
Viktiga fördelar:
- Tillåter att serverdelstjänster skickar MQTT-meddelanden utan att hålla beständiga MQTT-sessioner öppna.
- Hjälper till att skydda asynkron stabilitet genom att begränsa MQTT-sessioner per klient.
- Säkerställer konsekvent bearbetning av meddelanden som kommer från MQTT och HTTP.
När http-publicering ska användas
Överväg att använda HTTP Publish när:
- Serverdelstjänsterna är HTTP-interna och måste skicka enhetskommandon eller uppdateringar via MQTT.
- Du vill hantera kvarhållna meddelanden utan att öppna en MQTT-anslutning.
- Du måste skala upp publiceringskapaciteten utan att överskrida sessionsgränserna.
Så här fungerar det
- HTTP-klienter utfärdar en HTTP-begäran POSTmed MQTT-publiceringsinformation.
- Event Grid mappar HTTP-begärandedelar till standardegenskaperna för MQTT PUBLISH-paket.
- Meddelanden flödar via Event Grid-routnings- och berikningspipelinen, vilket garanterar leveransgarantier och tillämpar all berikning eller transformering.
Exempel: MQTT Publicera motsvarande
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
Exempel: HTTP-publiceringsbegäran
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
Parametrar för begäran
I följande tabell beskrivs hur HTTP-begärandedelar mappas till egenskaperna för MQTT PUBLISH-paket. Mer information finns i den ursprungliga dokumentationen.
| MQTT-publiceringsdel | Typ/värden | Plats | Krävs | Description | 
|---|---|---|---|---|
| Ämnesnamn | Procentkodad sträng | Fråga topic | Ja | MQTT-ämne att publicera till | 
| QoS | 0 eller 1 | Fråga qoseller sidhuvudmqtt-qos | Nej [standard = 1] | Tjänstkvalitetsnivå (QoS) | 
| RETAINflagga | 0 eller 1 | Fråga retaineller sidhuvudmqtt-retain | Nej [standard = 0] | Om meddelandet ska behållas | 
| Svarsämne | Procentkodad sträng | Rubrik mqtt-response-topic | Nej | Svarsämne om det behövs | 
| Korrelationsdata | Base64-sträng | Rubrik mqtt-correlation-data | Nej | Extra data för spårning | 
| Användaregenskaper | Base64 JSON-matris | Rubrik mqtt-user-properties | Nej | Anpassade användaregenskaper | 
| Innehållstyp | Sträng | Rubrik content-type | Nej | Nyttolasttyp | 
| Intervall för meddelande upphör att gälla | Osignerat heltal | Rubrik mqtt-message-expiry | Nej | Kvarhållningsperiod i sekunder | 
| Indikator för nyttolastformat | 0 eller 1 | Rubrik mqtt-payload-format-indicator | Nej [standard = 0] | Formatindikator | 
| Nyttolast | byte | HTTP-brödtext | Nej | Meddelandetext | 
Notes:
- Frågeparametervärden åsidosätter huvudvärden om båda finns.
- Procentkodning krävs för ämnes- och svarsämne.
- Korrelationsdata måste vara Base64-kodade.
Övergripande steg för att använda HTTP Publish
- Förbered din Microsoft Entra ID-ägartoken för autentisering.
- Skapa din HTTP-begäran POSTtill din Event Grid MQTT-koordinatorslutpunkt.
- Inkludera obligatoriska frågeparametrar, till exempel ämne.
- Lägg till valfria rubriker för QoS, RETAINflaggan, svarsämnet och användaregenskaperna.
- Lägg till nyttolasten som HTTP-brödtext.
- Skicka begäran.
- Bekräfta leverans via loggar och mått i Event Grid-portalen.
Autentisering och auktorisering
- HTTP Publish använder Microsoft Entra-ID för autentisering.
- En ägartoken krävs i auktoriseringshuvudet.
- Microsoft Entra-objekt-ID:t blir MQTT-klient-ID.
- AuthN/AuthZ-modellen överensstämmer med MQTT-standardanslutningar.
Routning och observerbarhet
Mått och loggar omfattar:
- Protokoll: http-publish
- Begärande-ID
- Ämne
- Käll-IP-adress
- Auktoriseringsobjekt
Metodtips
- Använd gemener i sidhuvuden där det är möjligt. HTTP/2-huvudnycklar är skiftlägesokänsliga.
- Övervaka dataflödet eftersom HTTP-meddelanden tenderar att vara större än direkta MQTT-meddelanden.
- Observera att HTTP Publish delar dataflödesgränser med direkta MQTT-publicerade meddelanden.
Strypning
HTTP-publicering räknas mot din totala MQTT-dataflödeskvot. Övervaka din användning för att undvika att överskrida gränserna.