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.
Med Azure Event Grid kan dina MQTT-klienter (Message Queuing Telemetry Transport) kommunicera med varandra och med Azure-tjänster för att stödja dina IoT-lösningar (Internet of Things). Du kan använda funktionen Event Grid MQTT Broker för att utföra följande scenarier. Kodexempel som visar dessa scenarier finns i den här lagringsplatsen.
- Mata in telemetri med hjälp av ett många-till-ett-meddelandemönster. Det här mönstret gör att programmet kan avlasta belastningen med att hantera det stora antalet anslutningar med enheter till Event Grid.
- Kontrollera dina MQTT-klienter med hjälp av meddelandemönstret request-response (en-till-en). Det här mönstret gör det möjligt för alla klienter att kommunicera med andra klienter utan begränsningar, oavsett klienternas roller.
- Skicka aviseringar till en flotta av klienter med hjälp av ett-till-många-meddelandemönstret. Med det här mönstret kan programmet bara publicera ett meddelande som tjänsten replikerar för varje intresserad klient.
- Integrera data från dina MQTT-klienter genom att dirigera MQTT-meddelanden till Azure-tjänster och webhooks via HTTP Push-leveransfunktionen. Du kan använda den här integreringen med Azure-tjänster för att skapa datapipelines som börjar med datainmatning från dina IoT-enheter.
MQTT-mäklaren är idealisk för implementering av bland annat fordons-, mobilitets- och tillverkningsscenarier. Information om hur du skapar säkra och skalbara lösningar för att ansluta miljontals MQTT-klienter till molnet med hjälp av Azures meddelande- och dataanalystjänster finns i referensarkitekturerna för fordon och tillverkning .
               
              
            
Viktiga begrepp
Följande viktiga begrepp ingår i event grid MQTT-koordinatorfunktionen.
MQTT
MQTT är ett transportprotokoll för meddelanden för publicering och prenumeration som har utformats för begränsade miljöer. Det är en populär kommunikationsstandard för IoT-scenarier på grund av effektivitet, skalbarhet och tillförlitlighet. Med MQTT-koordinatorn kan klienter publicera och prenumerera på meddelanden via MQTT v3.1.1, MQTT v3.1.1 via WebSocket, MQTT v5 och MQTT v5 via WebSocket. I följande lista visas några av funktionshöjdpunkterna i MQTT-koordinatorn:
- MQTT v5-funktioner: - Last Will and Testament: Meddelar dina MQTT-klienter om plötsliga frånkopplingar av andra MQTT-klienter. Du kan använda den här funktionen för att säkerställa förutsägbart och tillförlitligt kommunikationsflöde mellan MQTT-klienter under oväntade frånkopplingar.
- Användaregenskaper: Gör att du kan lägga till anpassade nyckel/värde-par i meddelandehuvudet för att ge mer kontext om meddelandet. Inkludera till exempel meddelandets syfte eller ursprung så att mottagaren kan hantera meddelandet effektivt.
- Mönster för begärandesvar: Gör att dina klienter kan dra nytta av det asynkrona standardmönstret för begärandesvar och ange svarsämnet och korrelations-ID:t i begäran om att klienten ska svara utan föregående konfiguration.
- Intervall för meddelandeförfallodatum: Gör att du kan deklarera till MQTT-koordinatorn när du ska ignorera ett meddelande som inte längre är relevant eller giltigt. Exempel är att ignorera inaktuella kommandon eller aviseringar.
- Ämnesalias: Hjälper dina klienter att minska storleken på ämnesfältet, vilket gör dataöverföringen billigare.
- Maximal meddelandestorlek: Låter dina klienter styra den maximala meddelandestorlek som de kan hantera från servern.
- Ta emot maximalt: Låter dina klienter styra meddelandefrekvensen beroende på deras funktioner, till exempel bearbetningshastighet eller lagringsfunktioner.
- Ren start och sessionsförfallotid: Gör att dina klienter kan optimera tillförlitligheten och säkerheten för sessionen genom att bevara klientens prenumerationsinformation och meddelanden för ett konfigurerbart tidsintervall.
- Negativa bekräftelser: Gör att dina klienter effektivt kan reagera på olika felkoder.
- Server-skickade frånkopplingspaket: Gör att dina klienter effektivt kan hantera frånkopplingar.
- MQTT-kvarhållning: Säkerställer att koordinatorn lagrar det senast publicerade meddelandet i ett ämne och automatiskt levererar det till alla nya prenumeranter. Med den här funktionen kan enheter omedelbart få det senaste kända tillståndet utan att vänta på nästa uppdatering. Den här funktionen möjliggör snabbare och mer tillförlitlig tillståndssynkronisering i IoT-system.
 
- MQTT v3.1.1-funktioner: - Last Will and Testament: Meddelar dina MQTT-klienter om plötsliga frånkopplingar av andra MQTT-klienter. Du kan använda den här funktionen för att säkerställa förutsägbart och tillförlitligt kommunikationsflöde mellan MQTT-klienter under oväntade frånkopplingar.
- Beständiga sessioner: Säkerställer tillförlitlighet genom att bevara klientens prenumerationsinformation och meddelanden när en klient kopplas från.
- Tjänstkvalitet (QoS) 0 och 1: Ger dina klienter kontroll över effektiviteten och tillförlitligheten i kommunikationen.
- MQTT-kvarhållning: Säkerställer att koordinatorn lagrar det senast publicerade meddelandet i ett ämne och automatiskt levererar det till alla nya prenumeranter. Med den här funktionen kan enheter omedelbart få det senaste kända tillståndet utan att vänta på nästa uppdatering. Den här funktionen möjliggör snabbare och mer tillförlitlig tillståndssynkronisering i IoT-system.
 
I följande avsnitt beskrivs de aktuella skillnaderna mellan funktioner som stöds av MQTT-koordinatorn och MQTT v5-specifikationerna. QoS 2 stöds inte.
Läs mer om MQTT-koordinatorn och aktuella begränsningar.
Publicera prenumerationsmeddelandemodell
Modellen för publicering-abonnering för meddelandehantering ger skalbar och asynkron kommunikation till användare. Det gör det möjligt för klienter att avlasta belastningen med att hantera ett stort antal anslutningar och meddelanden till tjänsten. Med meddelandemodellen publicera och prenumerera kan dina klienter kommunicera effektivt med hjälp av meddelandemönster från en till många, många till en och en-till-en:
- En-till-många: Gör att klienter bara kan publicera ett meddelande som tjänsten replikerar för varje intresserad klient.
- Många-till-en: Gör det möjligt för klienter att avlasta belastningen med att hantera det stora antalet anslutningar till MQTT-koordinatorn.
- En-till-en: Gör att alla klienter kan kommunicera med andra klienter utan begränsningar, oavsett klienternas roller.
Namespace
Ett Event Grid-namnområde är en hanteringscontainer för de resurser som stöder MQTT-koordinatorfunktionen, tillsammans med de resurser som stöder pull-leveransfunktionen. MQTT-klienten kan ansluta till MQTT-asynkron meddelandekö och publicera och prenumerera på meddelanden. MQTT-mäklaren autentiserar dina klienter, auktoriserar begäranden om publicering och vidarebefordrar meddelanden till intresserade klienter. Läs mer om namnområdeskonceptet.
Klienter
Klienter refererar till IoT-enheter eller program som publicerar och prenumererar på MQTT-meddelanden.
IoT-enheter är fysiska objekt som är anslutna till Internet för att överföra telemetri och ta emot kommandon. Dessa enheter är sensorer, apparater, maskiner eller andra objekt som är utrustade med inbäddade sensorer och programvara. Sensorerna och programvaran gör det möjligt för dem att kommunicera och interagera med varandra och miljön runt dem. Värdet av IoT-enheter ligger i deras förmåga att tillhandahålla realtidsdata och insikter, vilket gör det möjligt för företag och individer att fatta välgrundade beslut och förbättra effektiviteten och produktiviteten.
IoT-program är programvara som är utformad för att interagera med och bearbeta data från IoT-enheter. De omfattar vanligtvis komponenter som datainsamling, bearbetning, lagring, visualisering och analys. Dessa program gör det möjligt för användare att övervaka och kontrollera anslutna enheter, automatisera uppgifter och få insikter från de data som genereras av IoT-enheter.
Klientautentisering
Event Grid har ett klientregister som lagrar information om klienterna som tillåts ansluta till det. Innan en klient kan ansluta måste det finnas en registrering för klienten i klientregistret. När en klient ansluter till MQTT-koordinatorn måste den autentisera med MQTT-koordinatorn baserat på autentiseringsuppgifter som lagras i identitetsregistret. MQTT-asynkronisering stöder följande mekanismer för klientautentisering:
- X.509-certifikatautentisering är branschautentiseringsstandarden på IoT-enheter.
- Microsoft Entra ID-autentisering är Azure-autentiseringsstandarden för program. Läs mer om MQTT-klientautentisering.
- Flexibla autentiseringar: - OAuth 2.0 JSON-webbtokenautentisering (JWT) ger ett enkelt, säkert och flexibelt alternativ för MQTT-klienter som inte har etablerats i Azure.
- Med anpassad webhook-autentisering kan externa HTTP-slutpunkter (webhooks) autentisera MQTT-anslutningar dynamiskt. Den använder Microsoft Entra ID JWT-validering för att säkerställa säker åtkomst.
 
Åtkomstkontroll
Åtkomstkontroll är avgörande för IoT-scenarier med tanke på den enorma omfattningen av IoT-miljöer och de unika säkerhetsutmaningarna för begränsade enheter. Event Grid levererar rollbaserad åtkomstkontroll via en flexibel åtkomstkontrollmodell som du kan använda för att hantera auktoriseringen av klienter för att publicera eller prenumerera på ämnen.
Med den enorma skalan av IoT-miljöer är det otroligt tråkigt att tilldela behörighet för varje klient till varje ämne. Den flexibla åtkomstkontrollen för Event Grid hanterar den här skalningsutmaningen genom att gruppera klienter och ämnen i klientgrupper och ämnesutrymmen. När du har skapat klientgrupper och ämnesutrymmen kan du konfigurera en behörighetsbindning för att bevilja åtkomst till en klientgrupp för att antingen publicera eller prenumerera på ett ämnesutrymme.
               
              
            
Ämnesutrymmen ger också detaljerad åtkomstkontroll genom att du kan styra auktoriseringen av varje klient i en klientgrupp för att publicera eller prenumerera på ett eget ämne. Den här detaljerade åtkomstkontrollen uppnås med hjälp av variabler i ämnesmallar. Läs mer om åtkomstkontroll.
Routning
Med Event Grid kan du dirigera dina MQTT-meddelanden till Azure-tjänster eller webhooks för vidare bearbetning. Därför kan du skapa lösningar från slutpunkt till slutpunkt med hjälp av dina IoT-data för bland annat dataanalys, lagring och visualiseringar. Genom att använda routningskonfigurationen kan du skicka alla dina MQTT-meddelanden från dina klienter till antingen ett Event Grid-namnområdesavsnitt eller ett anpassat Event Grid-ämne. När meddelandena finns i ämnet kan du konfigurera en händelseprenumeration för att använda meddelandena från ämnet. Med den här funktionen kan du till exempel använda Event Grid för att dirigera telemetri från dina IoT-enheter till Event Hubs och sedan till Azure Stream Analytics för att få insikter från enhetens telemetri. Läs mer om routning.
               
              
            
MQTT-händelser till Microsoft Fabric eventstreams (förhandsversion)
Dirigera MQTT-meddelanden och molnhändelser från ett Event Grid-namnområde till Microsoft Fabric-händelseströmmar för realtidsanalys, lagring och visualisering av IoT-data.
Edge MQTT-brokerintegration
Event Grid integreras med Azure IoT Operations för att överbrygga sin MQTT-koordinatorfunktion på gränsen med Event Grid MQTT-koordinatorfunktionen i molnet. Azure IoT Operations tillhandahåller en ny distribuerad MQTT-koordinator för gränsberäkning som körs i Azure Arc-aktiverade Kubernetes-kluster. Den kan ansluta till Event Grid MQTT-koordinatorn med Microsoft Entra ID-autentisering med hjälp av systemtilldelad hanterad identitet, vilket förenklar autentiseringshanteringen. MQTT-koordinatorn ger hög tillgänglighet, skalbarhet och säkerhet för dina IoT-enheter och -program. Läs mer om hur du ansluter Azure IoT Operations MQTT-koordinatorn till Event Grid MQTT-koordinatorn.
MQTT-klientens livscykelhändelser
Med livscykelhändelser för klienten kan program reagera på händelser om klientanslutningsstatus eller klientresursåtgärder. Du kan hålla reda på klientens anslutningsstatus, reagera med en åtgärd för att minska frånkopplingar av klienter och spåra namnområdet som klienterna är anslutna till under automatiserade redundansväxlingar. Läs mer om MQTT-klientens livscykelhändelser.
Anpassade domännamn
Med stöd för anpassade domännamn kan användare tilldela sina egna domännamn till Event Grid-namnområdets MQTT- och HTTP-slutpunkter, vilket förbättrar säkerheten och förenklar klientkonfigurationen. Den här funktionen hjälper företag att uppfylla sina säkerhets- och efterlevnadskrav och eliminerar behovet av att ändra klienter som redan är länkade till domänen. Om du tilldelar ett anpassat domännamn till flera namnområden kan du också förbättra tillgängligheten, hantera kapaciteten och hantera klientmobilitet mellan regioner. Läs mer om anpassade domännamn.
MQTT-kvarhållning (förhandsversion)
Ett MQTT-kvarhållet meddelande används för att lagra det senast kända goda värdet för ett ämne på asynkron meddelandekö, vilket säkerställer att nya prenumeranter omedelbart får det senaste meddelandet utan att vänta på nästa publicering. Den här funktionen är särskilt användbar i scenarier som rapportering av enhetstillstånd, kontrollsignaler eller konfigurationsdata där det senaste meddelandet alltid måste vara tillgängligt för klienter vid anslutning. Mer information finns i MQTT Behåll support i Azure Event Grid.
HTTP-publicering (förhandsversion)
HTTP Publish gör det möjligt för program att publicera MQTT-meddelanden till Event Grid MQTT-koordinatorn via en enkel HTTPS-begäran POST , utan att upprätthålla en aktiv MQTT-session. Det passar bäst för scenarier där MQTT-klienter inte är genomförbara eller nödvändiga, till exempel serverlösa funktioner, molntjänster eller serverdelsprogram. MED HTTP Publish kan händelsedrivna arkitekturer mata in MQTT-meddelanden på ett tillförlitligt och säkert sätt. Vanliga användningsfall är att publicera enhetskommandon, aviseringar eller kontrollsignaler från Azure Functions, Azure Logic Apps eller API-integreringar. Mer information finns i HTTP-publicering av MQTT-meddelanden i Azure Event Grid.
Begrepp
Läs mer om begreppen för MQTT-koordinatorn i Event Grid:
- Terminologi
- Klientautentisering
- Åtkomstkontroll
- Stöd för MQTT-protokoll
- Routning av MQTT-meddelanden
- MQTT-klientens livscykelhändelser
Relaterat innehåll
Läs mer om MQTT-mäklaren och dess huvudkoncept:
