Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Met Azure Event Grid kunnen uw MQTT-clients (Message Queuing Telemetry Transport) met elkaar communiceren en met Azure-services ter ondersteuning van uw IoT-oplossingen (Internet of Things). U kunt de Event Grid MQTT-brokerfunctie gebruiken om de volgende scenario's uit te voeren. Zie deze opslagplaats voor codevoorbeelden die deze scenario's demonstreren.
- Telemetrie opnemen met behulp van een veel-op-een-berichtpatroon. Met dit patroon kan de toepassing de last van het beheer van het grote aantal verbindingen met apparaten met Event Grid offloaden.
- Beheer uw MQTT-clients met behulp van het berichtpatroon aanvraag-antwoord (een-op-een). Met dit patroon kan elke client zonder beperkingen communiceren met een andere client, ongeacht de rollen van de clients.
- Verzend waarschuwingen naar een vloot van clients met behulp van het één-op-veel-berichtenpatroon. Met dit patroon kan de toepassing slechts één bericht publiceren dat de service repliceert voor elke geïnteresseerde client.
- Integreer gegevens van uw MQTT-clients door MQTT-berichten te routeren naar Azure-services en webhooks via de http-pushleveringsfunctionaliteit. U kunt deze integratie met Azure-services gebruiken om gegevenspijplijnen te bouwen die beginnen met gegevensopname van uw IoT-apparaten.
De MQTT-broker is ideaal voor de implementatie van auto-, mobiliteits- en productiescenario's, onder andere. Voor meer informatie over het bouwen van veilige en schaalbare oplossingen voor het verbinden van miljoenen MQTT-clients met de cloud met behulp van de Services voor berichten- en gegevensanalyse van Azure, raadpleegt u de referentiearchitecturen voor auto's en productie .
Belangrijke concepten
De volgende belangrijke concepten zijn betrokken bij de Event Grid MQTT-brokerfunctie.
MQTT
MQTT is een berichtentransportprotocol voor publiceren-abonneren dat is ontworpen voor beperkte omgevingen. Het is een populaire communicatiestandaard voor IoT-scenario's vanwege efficiëntie, schaalbaarheid en betrouwbaarheid. Met de MQTT-broker kunnen clients berichten publiceren en abonneren op berichten via MQTT v3.1.1, MQTT v3.1.1 via WebSocket, MQTT v5 en MQTT v5 via WebSocket. In de volgende lijst ziet u enkele van de belangrijkste kenmerken van de MQTT-broker:
MQTT v5-functies:
- Last Will and Testament: geeft uw MQTT-clients een bericht over de plotselinge verbroken verbindingen van andere MQTT-clients. U kunt deze functie gebruiken om een voorspelbare en betrouwbare communicatiestroom tussen MQTT-clients te garanderen tijdens onverwachte verbroken verbindingen.
- Gebruikerseigenschappen: Hiermee kunt u aangepaste sleutel-/waardeparen toevoegen in de berichtkop om meer context over het bericht te bieden. Neem bijvoorbeeld het doel of de oorsprong van het bericht op, zodat de ontvanger het bericht efficiënt kan verwerken.
- Patroon aanvraag-antwoord: stelt uw clients in staat om te profiteren van het standaard asynchrone patroon aanvraag-antwoord, waarbij het antwoordonderwerp en de correlatie-id worden opgegeven in de aanvraag voor de client om te reageren zonder eerdere configuratie.
- Interval voor het verlopen van berichten: hiermee kunt u declareren bij de MQTT-broker wanneer u een bericht negeert dat niet meer relevant of geldig is. Voorbeelden hiervan zijn het negeren van verouderde opdrachten of waarschuwingen.
- Onderwerpaliassen: Helpt uw klanten de grootte van het onderwerpveld te verkleinen, waardoor de gegevensoverdracht minder duur wordt.
- Maximale berichtgrootte: hiermee kunnen uw clients de maximale berichtgrootte beheren die ze van de server kunnen verwerken.
- Maximaal ontvangen: stelt uw clients in staat om de berichtsnelheid te beheren, afhankelijk van hun mogelijkheden, zoals verwerkingssnelheid of opslagmogelijkheden.
- Opschonen van begin- en sessieverloop: stelt uw clients in staat om de betrouwbaarheid en beveiliging van de sessie te optimaliseren door de abonnementsgegevens en berichten van de client te behouden voor een configureerbaar tijdsinterval.
- Negatieve bevestigingen: hiermee kunnen uw clients efficiënt reageren op verschillende foutcodes.
- Door de server verzonden verbindingspakketten: hiermee kunnen uw clients de verbinding met de verbinding efficiënt afhandelen.
- MQTT Behouden: Zorgt ervoor dat de broker het laatst gepubliceerde bericht opslaat in een onderwerp en het automatisch aan nieuwe abonnees levert. Met deze functie kunnen apparaten direct de meest recente bekende status ontvangen zonder te wachten op de volgende update. Deze mogelijkheid maakt snellere en betrouwbaardere statussynchronisatie mogelijk tussen IoT-systemen.
MQTT v3.1.1-functies:
- Last Will and Testament: geeft uw MQTT-clients een bericht over de plotselinge verbroken verbindingen van andere MQTT-clients. U kunt deze functie gebruiken om een voorspelbare en betrouwbare communicatiestroom tussen MQTT-clients te garanderen tijdens onverwachte verbroken verbindingen.
- Permanente sessies: zorgt voor betrouwbaarheid door de abonnementsgegevens en berichten van de client te behouden wanneer een client de verbinding verbreekt.
- Quality of Service (QoS) 0 en 1: biedt uw klanten controle over de efficiëntie en betrouwbaarheid van de communicatie.
- MQTT Behouden: Zorgt ervoor dat de broker het laatst gepubliceerde bericht opslaat in een onderwerp en het automatisch aan nieuwe abonnees levert. Met deze functie kunnen apparaten direct de meest recente bekende status ontvangen zonder te wachten op de volgende update. Deze mogelijkheid maakt snellere en betrouwbaardere statussynchronisatie mogelijk tussen IoT-systemen.
In de volgende secties worden de huidige verschillen beschreven tussen functies die worden ondersteund door de MQTT-broker en de MQTT v5-specificaties. QoS 2 wordt niet ondersteund.
Meer informatie over de MQTT-broker en de huidige beperkingen.
Berichtenmodel publiceren/abonneren
Het publish-subscribe meldingssysteem biedt schaalbare en asynchrone communicatie voor cliënten. Hiermee kunnen clients de last van het verwerken van een groot aantal verbindingen en berichten naar de service offloaden. Via het berichtenmodel publiceren-abonneren kunnen uw klanten efficiënt communiceren met behulp van een-op-veel-op-een- en een-op-een-berichtpatronen:
- Een-op-veel: hiermee kunnen clients slechts één bericht publiceren dat de service repliceert voor elke geïnteresseerde client.
- Veel-op-een: hiermee kunnen clients de last van het beheer van het grote aantal verbindingen met de MQTT-broker offloaden.
- Een-op-een: hiermee kan elke client zonder beperkingen communiceren met een andere client, ongeacht de rollen van de clients.
Naamruimte
Een Event Grid-naamruimte is een beheercontainer voor de resources die ondersteuning bieden voor de MQTT-brokerfunctionaliteit, samen met de resources die ondersteuning bieden voor de functionaliteit voor pull-levering. Uw MQTT-client kan verbinding maken met de MQTT-broker en abonneren op berichten. De MQTT-broker verifieert uw klanten, autoriseert aanvragen voor publiceren/abonneren en stuurt berichten door naar geïnteresseerde klanten. Meer informatie over het concept van de naamruimte.
Klanten
Clients verwijzen naar IoT-apparaten of -toepassingen die MQTT-berichten publiceren en abonneren.
IoT-apparaten zijn fysieke objecten die zijn verbonden met internet om telemetrie te verzenden en opdrachten te ontvangen. Deze apparaten zijn sensoren, apparaten, machines of andere objecten die zijn uitgerust met ingesloten sensoren en software. Met de sensoren en software kunnen ze met elkaar en met de omgeving communiceren en interageren. De waarde van IoT-apparaten ligt in hun vermogen om realtime gegevens en inzichten te bieden, waardoor bedrijven en personen weloverwogen beslissingen kunnen nemen en de efficiëntie en productiviteit kunnen verbeteren.
IoT-toepassingen zijn software die is ontworpen om te communiceren met en gegevens van IoT-apparaten te verwerken. Ze omvatten doorgaans onderdelen zoals gegevensverzameling, verwerking, opslag, visualisatie en analyse. Met deze toepassingen kunnen gebruikers verbonden apparaten bewaken en beheren, taken automatiseren en inzicht krijgen in de gegevens die zijn gegenereerd door IoT-apparaten.
Clientverificatie
Event Grid heeft een clientregister waarin informatie wordt opgeslagen over de clients die hiermee verbinding mogen maken. Voordat een client verbinding kan maken, moet er een vermelding zijn voor die client in het clientregister. Als een client verbinding maakt met de MQTT-broker, moet deze worden geverifieerd met de MQTT-broker op basis van referenties die zijn opgeslagen in het identiteitsregister. De MQTT-broker ondersteunt de volgende clientverificatiemechanismen:
- X.509-certificaatverificatie is de industrieverificatiestandaard in IoT-apparaten.
- Microsoft Entra ID-verificatie is de Azure-verificatiestandaard voor toepassingen. Meer informatie over MQTT-clientverificatie.
- Flexibele verificaties:
- OAuth 2.0 JSON Web Token -verificatie (JWT) biedt een lichtgewicht, veilige en flexibele optie voor MQTT-clients die niet zijn ingericht in Azure.
- Met aangepaste webhookverificatie kunnen externe HTTP-eindpunten (webhooks) MQTT-verbindingen dynamisch verifiëren. Er wordt gebruikgemaakt van de JWT-validatie van Microsoft Entra ID om beveiligde toegang te garanderen.
Toegangsbeheer
Toegangsbeheer is essentieel voor IoT-scenario's die rekening houden met de enorme schaal van IoT-omgevingen en de unieke beveiligingsuitdagingen van beperkte apparaten. Event Grid biedt op rollen gebaseerd toegangsbeheer via een flexibel toegangsbeheermodel dat u kunt gebruiken om de autorisatie van clients te beheren voor het publiceren of abonneren op onderwerpen.
Met de enorme schaal van IoT-omgevingen is het toewijzen van machtigingen voor elke client aan elk onderwerp ongelooflijk vervelend. Met het flexibele toegangsbeheer van Event Grid wordt deze schaaluitdaging aangepakt door clients en onderwerpen te groeperen in clientgroepen en onderwerpruimten. Nadat u clientgroepen en onderwerpruimten hebt gemaakt, kunt u een machtigingsbinding configureren om toegang te verlenen tot een clientgroep om een onderwerpruimte te publiceren of te abonneren.
Onderwerpruimten bieden ook gedetailleerd toegangsbeheer doordat u de autorisatie van elke client binnen een clientgroep kunt beheren om een eigen onderwerp te publiceren of erop te abonneren. Dit gedetailleerde toegangsbeheer wordt bereikt met behulp van variabelen in onderwerpsjablonen. Meer informatie over toegangsbeheer.
Routering
Met Event Grid kunt u uw MQTT-berichten omleiden naar Azure-services of webhooks voor verdere verwerking. Daarom kunt u end-to-end-oplossingen bouwen met behulp van uw IoT-gegevens voor gegevensanalyse, opslag en visualisaties, onder andere gebruiksvoorbeelden. Met behulp van de routeringsconfiguratie kunt u al uw MQTT-berichten van uw clients verzenden naar een Event Grid-naamruimteonderwerp of een aangepast Event Grid-onderwerp. Nadat de berichten in het onderwerp staan, kunt u een gebeurtenisabonnement configureren om de berichten van het onderwerp te gebruiken. Met deze functionaliteit kunt u bijvoorbeeld Event Grid gebruiken om telemetrie van uw IoT-apparaten naar Event Hubs te routeren en vervolgens naar Azure Stream Analytics om inzicht te krijgen in uw apparaattelemetrie. Meer informatie over routering.
MQTT-gebeurtenissen naar Microsoft Fabric-gebeurtenisstromen (preview)
MQTT-berichten en cloudgebeurtenissen routeren vanuit een Event Grid-naamruimte naar Microsoft Fabric-eventstreams voor realtime analyse, opslag en visualisatie van IoT-gegevens.
Integratie van Edge MQTT-broker
Event Grid kan worden geïntegreerd met Azure IoT Operations om de MQTT-brokermogelijkheden aan de rand te overbruggingen met de functie Event Grid MQTT-broker in de cloud. Azure IoT Operations biedt een nieuwe gedistribueerde MQTT-broker voor edge-computing, die wordt uitgevoerd op Kubernetes-clusters met Azure Arc. Het kan verbinding maken met de Event Grid MQTT-broker met Microsoft Entra ID-verificatie met behulp van door het systeem toegewezen beheerde identiteit, wat het beheer van referenties vereenvoudigt. De MQTT-broker biedt hoge beschikbaarheid, schaalbaarheid en beveiliging voor uw IoT-apparaten en -toepassingen. Meer informatie over het verbinden van de Azure IoT Operations MQTT-broker met de Event Grid MQTT-broker.
Levenscyclusgebeurtenissen van MQTT-clients
Met gebeurtenissen in de levenscyclus van de client kunnen toepassingen reageren op gebeurtenissen over de clientverbindingsstatus of de clientresourcebewerkingen. U kunt de verbindingsstatus van uw client bijhouden, reageren met een beperkingsactie voor verbroken clients en de naamruimte bijhouden waaraan uw clients zijn gekoppeld tijdens geautomatiseerde failovers. Meer informatie over levenscyclusgebeurtenissen van MQTT-clients.
Aangepaste domeinnamen
Dankzij ondersteuning voor aangepaste domeinnamen kunnen gebruikers hun eigen domeinnamen toewijzen aan de MQTT- en HTTP-eindpunten van de Event Grid-naamruimte, waardoor de beveiliging wordt verbeterd en de clientconfiguratie wordt vereenvoudigd. Met deze functie kunnen ondernemingen voldoen aan hun beveiligings- en nalevingsvereisten en hoeven clients die al aan het domein zijn gekoppeld, niet meer te hoeven wijzigen. Het toewijzen van een aangepaste domeinnaam aan meerdere naamruimten kan ook helpen bij het verbeteren van de beschikbaarheid, het beheren van de capaciteit en het afhandelen van clientmobiliteit tussen regio's. Meer informatie over aangepaste domeinnamen.
MQTT-behoud (preview)
Een bewaard MQTT-bericht wordt gebruikt om de laatst bekende goede waarde van een onderwerp op de broker op te slaan, zodat nieuwe abonnees onmiddellijk het meest recente bericht ontvangen zonder te wachten op de volgende publicatie. Deze mogelijkheid is vooral handig in scenario's zoals apparaatstatusrapportage, controlesignalen of configuratiegegevens waarbij het laatste bericht altijd beschikbaar moet zijn voor clients die verbinding maken. Zie de ondersteuning voor MQTT-behoud in Azure Event Grid voor meer informatie.
HTTP Publiceren (voorbeeldweergave)
Met HTTP Publish kunnen toepassingen MQTT-berichten publiceren naar de Event Grid MQTT-broker via een eenvoudige HTTPS-aanvraag POST , zonder dat er een actieve MQTT-sessie wordt onderhouden. Het is het meest geschikt voor scenario's waarbij MQTT-clients niet haalbaar of noodzakelijk zijn, zoals serverloze functies, cloudservices of back-endtoepassingen. Met HTTP Publish kunnen gebeurtenisgestuurde architecturen MQTT-berichten betrouwbaar en veilig injecteren. Veelvoorkomende gebruiksvoorbeelden zijn het publiceren van apparaatopdrachten, waarschuwingen of besturingssignalen van Azure Functions, Azure Logic Apps of API-integraties. Zie HTTP-publicatie van MQTT-berichten in Azure Event Grid voor meer informatie.
Concepten
Meer informatie over concepten van de MQTT-broker in Event Grid:
- Terminologie
- Clientauthenticatie
- Toegangsbeheer
- Ondersteuning voor MQTT-protocol
- MQTT-berichten routeren
- Levenscyclusgebeurtenissen van MQTT-clients
Gerelateerde inhoud
Meer informatie over de MQTT-broker en de belangrijkste concepten: