Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Rozhraní API pro publikování HTTP zprostředkovatele Azure Event Grid MQTT umožňuje zákazníkům publikovat zprávy přenosu telemetrie služby Řízení front zpráv (MQTT) pomocí standardních požadavků HTTP. Tato funkce doplňuje přímá připojení klientů MQTT. Poskytuje jednoduchou a škálovatelnou možnost pro systémy na straně serveru, které dávají přednost protokolu HTTP pro příkaz a řízení, aktualizace nebo správu zpráv na straně serveru.
Poznámka:
Tato funkce je aktuálně dostupná jako ukázková verze.
Klíčové výhody:
- Umožňuje back-endovým službám odesílat zprávy MQTT, aniž by byly trvalé relace MQTT otevřené.
- Pomáhá chránit stabilitu zprostředkovatele omezením relací MQTT pro jednotlivé klienty.
- Zajišťuje konzistentní zpracování zpráv pocházejících z MQTT a HTTP.
Kdy použít publikování HTTP
Zvažte použití publikování HTTP v následujících případech:
- Back-endové služby jsou nativní pro HTTP a potřebují odesílat příkazy zařízení nebo aktualizace přes MQTT.
- Chcete spravovat zachované zprávy bez otevření připojení MQTT.
- Potřebujete vertikálně navýšit kapacitu publikování bez vyčerpání limitů relací.
Jak to funguje
- Klienti HTTP vydávají požadavek HTTP
POSTs podrobnostmi o publikování MQTT. - Event Grid mapuje části požadavků HTTP na standardní vlastnosti paketu MQTT PUBLISH.
- Zprávy procházejí směrováním a kanálem rozšiřování služby Event Grid, který zajišťuje záruky doručení a použije veškeré rozšiřování nebo transformaci.
Příklad: Ekvivalent publikování MQTT
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
Příklad: Požadavek publikování 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
Parametry požadavku
Následující tabulka popisuje, jak části požadavku HTTP mapují na vlastnosti paketu MQTT PUBLISH. Úplné podrobnosti najdete v původní dokumentaci.
| Část Publikování MQTT | Typ/hodnoty | Umístění | Povinné | Description |
|---|---|---|---|---|
| Název tématu | Řetězec kódovaný v procentech | Dotaz topic |
Ano | Téma MQTT pro publikování do |
| QoS | 0 nebo 1 | Dotaz qos nebo záhlaví mqtt-qos |
Ne [výchozí = 1] | Úroveň kvality služby (QoS) |
RETAIN vlajka |
0 nebo 1 | Dotaz retain nebo záhlaví mqtt-retain |
Ne [výchozí = 0] | Zda se má zpráva zachovat |
| Téma odpovědi | Řetězec kódovaný v procentech | Záhlaví mqtt-response-topic |
Ne | Téma odpovědi v případě potřeby |
| Data korelace | Řetězec Base64 | Záhlaví mqtt-correlation-data |
Ne | Další data pro sledování |
| Vlastnosti uživatele | Pole JSON base64 | Záhlaví mqtt-user-properties |
Ne | Vlastní vlastnosti uživatele |
| Typ obsahu | Řetězec | Záhlaví content-type |
Ne | Typ datové části |
| Interval vypršení platnosti zprávy | Celé číslo bez znaménka | Záhlaví mqtt-message-expiry |
Ne | Doba uchování v sekundách |
| Indikátor formátu datové části | 0 nebo 1 | Záhlaví mqtt-payload-format-indicator |
Ne [výchozí = 0] | Indikátor formátu |
| Užitečný náklad | Bytes | Text HTTP | Ne | Text zprávy |
Notes:
- Hodnoty parametrů dotazu přepíší hodnoty hlaviček, pokud jsou k dispozici obě hodnoty.
- Pro téma témat a odpovědi se vyžaduje kódování procent.
- Data korelace musí být zakódovaná ve formátu Base64.
Základní kroky pro použití publikování HTTP
- Připravte nosný token Microsoft Entra ID pro ověřování.
- Vytvořte požadavek HTTP
POSTna koncový bod zprostředkovatele Event Grid MQTT. - Zahrňte požadované parametry dotazu, jako je téma.
- Přidejte volitelná záhlaví pro QoS,
RETAINpříznak, téma odpovědi a vlastnosti uživatele. - Přidejte datovou část jako tělo PROTOKOLU HTTP.
- Odešlete požadavek.
- Potvrďte doručení prostřednictvím protokolů a metrik na portálu Event Grid.
Autentizace a autorizace
- Publikování HTTP používá k ověřování ID Microsoft Entra.
- V autorizační hlavičce se vyžaduje nosný token.
- ID objektu Microsoft Entra se stane ID klienta MQTT.
- Model AuthN/AuthZ odpovídá standardním připojením MQTT.
Směrování a pozorovatelnost
Mezi metriky a protokoly patří:
- Protokol:
http-publish - ID žádosti
- Téma
- Zdrojová IP adresa
- Objekt zabezpečení autorizace
Osvědčené postupy
- Pokud je to možné, používejte klíče záhlaví malými písmeny. Klíče hlaviček HTTP/2 nerozlišují malá a velká písmena.
- Monitorujte propustnost, protože zprávy HTTP mají tendenci být větší než přímé zprávy MQTT.
- Všimněte si, že publikování HTTP sdílí limity propustnosti s přímými publikovanými zprávami MQTT.
Řízení výkonu/omezování rychlosti
Publikování HTTP se počítá do celkové kvóty propustnosti MQTT. Monitorujte využití, abyste se vyhnuli překročení limitů.