Wat is Azure Event Grid?
Azure Event Grid is een zeer schaalbare, volledig beheerde Pub Sub-berichtendistributieservice die flexibele berichtverbruikspatronen biedt met behulp van de MQTT- en HTTP-protocollen. Met Azure Event Grid kunt u gegevenspijplijnen bouwen met apparaatgegevens, toepassingen integreren en serverloze architecturen bouwen op basis van gebeurtenissen. Met Event Grid kunnen clients berichten publiceren en abonneren op berichten via de MQTT v3.1.1- en v5.0-protocollen ter ondersteuning van IoT-oplossingen (Internet of Things). Met Behulp van HTTP kunt u met Event Grid gebeurtenisgestuurde oplossingen bouwen, waarbij een uitgeverservice wijzigingen (gebeurtenissen) in de systeemstatus aankondigt aan abonneetoepassingen. Event Grid kan worden geconfigureerd voor het verzenden van gebeurtenissen naar abonnees (pushlevering) of abonnees kunnen verbinding maken met Event Grid om gebeurtenissen te lezen (pull-levering). Event Grid ondersteunt CloudEvents 1.0-specificatie om interoperabiliteit tussen systemen te bieden.
Azure Event Grid is een algemeen beschikbare service die is geïmplementeerd in beschikbaarheidszones in alle regio's die deze ondersteunen. Zie Producten die beschikbaar zijn per regio voor een lijst met regio's die worden ondersteund door Event Grid.
Overzicht
Azure Event Grid wordt gebruikt in verschillende fasen van gegevenspijplijnen om een diverse set integratiedoelen te bereiken.
MQTT-berichten. IoT-apparaten en -toepassingen kunnen met elkaar communiceren via MQTT. Event Grid kan ook worden gebruikt om MQTT-berichten te routeren naar Azure-services of aangepaste eindpunten voor verdere gegevensanalyse, visualisatie of opslag. Met deze integratie met Azure-services kunt u gegevenspijplijnen bouwen die beginnen met gegevensopname van uw IoT-apparaten.
Gegevensdistributie met behulp van push- en pull-leveringsmodi. Op elk moment in een gegevenspijplijn kunnen HTTP-toepassingen berichten gebruiken met behulp van push- of pull-API's. De bron van de gegevens kan gegevens van MQTT-clients bevatten, maar bevat ook de volgende gegevensbronnen die hun gebeurtenissen via HTTP verzenden:
- Azure-services
- Uw aangepaste toepassingen
- SaaS-systemen (Externe partner)
Het pushleveringsmechanisme van Event Grid verzendt gegevens naar bestemmingen met uw eigen toepassingswebhooks en Azure-services.
Functies
Event Grid biedt een uitgebreid combinatie van functies. Deze functies zijn onder andere:
MQTT-berichten
- Ondersteuning voor MQTT v3.1.1 en MQTT v5.0 : gebruik een opensource-MQTT-clientbibliotheek om met de service te communiceren.
- Aangepaste onderwerpen met ondersteuning voor jokertekens- Maak gebruik van uw eigen onderwerpstructuur.
- Berichtenmodel publiceren-abonneren: efficiënt communiceren met behulp van één-op-veel-, veel-op-een- en een-op-een-berichtpatronen.
- Ingebouwde cloudintegratie : routeer uw MQTT-berichten naar Azure-services of aangepaste webhooks voor verdere verwerking.
- Flexibel en gedetailleerd toegangsbeheermodel : groepeer clients en onderwerpen om het beheer van toegangsbeheer te vereenvoudigen en gebruik de variabeleondersteuning in onderwerpsjablonen voor een gedetailleerd toegangsbeheer.
- MQTT Broker-verificatiemethoden X.509-certificaatverificatie is de industrieverificatiestandaard in IoT-apparaten, Microsoft Entra IDauthentication is de verificatiestandaard van Azure voor toepassingen en OAuth 2.0-verificatie (JSON Web Token) biedt een lichtgewicht, veilige en flexibele optie voor MQTT-clients die niet zijn ingericht in Azure. -
- TLS 1.2- en TLS 1.3-ondersteuning : beveilig uw clientcommunicatie met behulp van robuuste versleutelingsprotocollen.
- Ondersteuning voor meerdere sessies: verbind uw toepassingen met meerdere actieve sessies om betrouwbaarheid en schaalbaarheid te garanderen.
- MQTT via WebSockets : connectiviteit inschakelen voor clients in firewall-beperkte omgevingen.
- Aangepaste domeinnamen : hiermee kunnen gebruikers hun eigen domeinnamen toewijzen aan de MQTT-eindpunten van de Event Grid-naamruimte, waardoor de beveiliging wordt verbeterd en de clientconfiguratie wordt vereenvoudigd.
- Gebeurtenissen in de levenscyclus van de client: hiermee kunnen toepassingen reageren op gebeurtenissen over de clientverbindingsstatus of de clientresourcebewerkingen.
Gebeurtenisberichten (HTTP)
- Flexibel model voor gebeurtenisverbruik : wanneer u HTTP gebruikt, gebruikt u gebeurtenissen met behulp van de pull- of pushleveringsmodus.
- Systeemgebeurtenissen : snel aan de slag met ingebouwde Azure-servicegebeurtenissen.
- Uw eigen toepassingsgebeurtenissen : Gebruik Event Grid om aangepaste gebeurtenissen van uw app te routeren, filteren en betrouwbaar te leveren.
- Partner-gebeurtenissen : abonneer u op gebeurtenissen van uw Partner SaaS-provider en verwerkt deze in Azure.
- Geavanceerd filteren : filter op gebeurtenistype of andere gebeurteniskenmerken om ervoor te zorgen dat uw gebeurtenis-handlers of consumenten-apps alleen relevante gebeurtenissen ontvangen.
- Betrouwbaarheid : pushlevering biedt een mechanisme voor opnieuw proberen van 24 uur met exponentieel uitstel om ervoor te zorgen dat gebeurtenissen worden geleverd. Als u pull-levering gebruikt, heeft uw toepassing volledige controle over het verbruik van gebeurtenissen.
- Hoge doorvoer : bouw geïntegreerde oplossingen met een hoog volume met Event Grid.
- Aangepaste domeinnamen : hiermee kunnen gebruikers hun eigen domeinnamen toewijzen aan de HTTP-eindpunten van de Event Grid-naamruimte, waardoor de beveiliging wordt verbeterd en de clientconfiguratie wordt vereenvoudigd.
Notitie
Met betrekking tot afschaffing van TLS 1.0/1.1: Voor systeemonderwerpen moet u alleen actie ondernemen voor de levering van gebeurtenissen aan webhookbestemmingen. Als de bestemming TLS 1.2 ondersteunt, wordt de gebeurtenislevering uitgevoerd met 1.2. Als de bestemming TLS 1.2 niet ondersteunt, valt de levering van gebeurtenissen automatisch terug op 1.0 en 1.1. Na 1 maart 2025 wordt levering van gebeurtenissen met 1.0 en 1.1 niet ondersteund. Zorg ervoor dat uw webhookbestemmingen TLS 1.2 ondersteunen. Een eenvoudige manier om te controleren op TLS 1.2-ondersteuning is door Qualys SSL Labs te gebruiken. Als in het rapport wordt aangegeven dat TLS 1.2 wordt ondersteund, is er geen actie vereist. Zie de volgende blogpost: Buitengebruikstelling: Geplande TLS-wijzigingen voor Azure Event Grid voor meer informatie
Gebruiksgevallen
Event Grid ondersteunt de volgende use cases:
MQTT-berichten
Met Event Grid kunnen uw clients communiceren over aangepaste MQTT-onderwerpnamen met behulp van een berichtenmodel voor publiceren/abonneren. Event Grid ondersteunt clients die berichten publiceren en abonneren op berichten via MQTT v3.1.1, MQTT v3.1.1 via WebSockets, MQTT v5 en MQTT v5 via WebSockets. Met Event Grid kunt u MQTT-berichten verzenden naar de cloud voor gegevensanalyse, opslag en visualisaties, onder andere gebruiksvoorbeelden.
Event Grid kan worden geïntegreerd met Azure IoT MQ om de MQTT-brokermogelijkheden aan de rand te overbruggingen met de MQTT-brokermogelijkheid van Event Grid in de cloud. Azure IoT MQ is een nieuwe gedistribueerde MQTT-broker voor edge-computing, die wordt uitgevoerd op Kubernetes-clusters met Arc. Het is nu beschikbaar in openbare preview als onderdeel van Azure IoT Operations.
De MQTT-brokerfunctie in Azure Event Grid is ideaal voor de implementatie van auto- en mobiliteitsscenario's, onder andere. Zie de referentiearchitectuur voor meer informatie over het bouwen van veilige en schaalbare oplossingen voor het verbinden van miljoenen voertuigen met de cloud, met behulp van de berichten- en gegevensanalyseservices van Azure.
Met de MQTT-brokerfunctie van Azure Event Grid kunt u de volgende scenario's uitvoeren.
IoT-telemetrie opnemen
Telemetrie opnemen met behulp van een veel-op-een-berichtenpatroon . Gebruik bijvoorbeeld Event Grid om telemetrie van meerdere IoT-apparaten naar een cloudtoepassing te verzenden. Met dit patroon kan de toepassing de last van het beheer van het grote aantal verbindingen met apparaten met Event Grid offloaden.
Opdracht en controle
Beheer uw MQTT-clients met behulp van het berichtpatroon aanvraag-antwoord (een-op-een). Gebruik bijvoorbeeld Event Grid om een opdracht vanuit een cloudtoepassing naar een IoT-apparaat te verzenden.
Broadcast-waarschuwingen
Verzend waarschuwingen naar een vloot van clients met behulp van het één-op-veel-berichtenpatroon . Gebruik bijvoorbeeld Event Grid om een waarschuwing van een cloudtoepassing naar meerdere IoT-apparaten te verzenden. Met dit patroon kan de toepassing slechts één bericht publiceren dat de service repliceert voor elke geïnteresseerde client.
MQTT-gegevens integreren
Integreer gegevens van uw MQTT-clients door MQTT-berichten te routeren naar Azure-services en aangepaste eindpunten via pushlevering of pull-levering. Gebruik Event Grid bijvoorbeeld om telemetrie van uw IoT-apparaten te routeren naar Event Hubs en vervolgens naar Azure Stream Analytics om inzicht te krijgen in de telemetrie van uw apparaat.
Push-levering van gebeurtenissen
Event Grid kan worden geconfigureerd voor het verzenden van gebeurtenissen naar een diverse set Azure-services of -webhooks met behulp van pushgebeurtenislevering. Gebeurtenisbronnen omvatten uw aangepaste toepassingen, Azure-services en SaaS-services (Partner) die gebeurtenissen publiceren die wijzigingen in de systeemstatus aankondigen (ook wel 'discrete' gebeurtenissen genoemd). Op zijn beurt levert Event Grid deze gebeurtenissen aan geconfigureerde bestemmingen van abonnees.
Met de pushlevering van Event Grid kunt u de volgende use cases realiseren.
Notitie
Pushlevering is beschikbaar in de Basic-laag van Event Grid en de Standard-laag van Event Grid voor meer informatie over de verschillen. Zie de juiste Event Grid-laag kiezen voor uw oplossing.
Gebeurtenisgestuurde serverloze oplossingen bouwen
Gebruik Event Grid om serverloze oplossingen te bouwen met Azure Functions Apps, Logic Apps en API Management. Het gebruik van serverloze services met Event Grid biedt u een niveau van productiviteit, inspanningseconomie en integratie die beter is dan die van klassieke computingmodellen waar u alle geïmplementeerde infrastructuur moet aanschaffen, beheren, beveiligen en onderhouden.
Gebeurtenissen ontvangen van Azure-services
Event Grid kan gebeurtenissen ontvangen van 20+ Azure-services, zodat u uw bewerkingen kunt automatiseren. U kunt bijvoorbeeld Event Grid zo configureren dat er een gebeurtenis wordt ontvangen wanneer er een nieuwe blob is gemaakt in een Azure Storage-account, zodat uw downstreamtoepassing de inhoud ervan kan lezen en verwerken. Zie Systeemonderwerpen voor een lijst met alle ondersteunde Azure-services en -gebeurtenissen.
Gebeurtenissen ontvangen van uw toepassingen
Uw eigen service of toepassing publiceert gebeurtenissen naar Event Grid die toepassingen van abonnees verwerken. Event Grid bevat naamruimteonderwerpen om te voldoen aan de integratie- en routeringsvereisten op schaal met een eenvoudig resourcemodel. U kunt aangepaste onderwerpen ook gebruiken om te voldoen aan basisintegratievereisten en -domeinen voor een eenvoudig beheer- en routeringsmodel wanneer u gebeurtenissen wilt distribueren naar honderden of duizenden verschillende groepen.
Gebeurtenissen ontvangen van partner (SaaS-providers)
Een SaaS-provider of -platform met meerdere tenants kan hun gebeurtenissen publiceren naar Event Grid via een functie met de naam Partner events. U kunt zich abonneren op deze gebeurtenissen en taken automatiseren, bijvoorbeeld. Gebeurtenissen van de volgende partners zijn momenteel beschikbaar:
- Verificatie0
- Microsoft Graph API. Via Microsoft Graph API kunt u gebeurtenissen ophalen uit Microsoft Entra ID, Microsoft Outlook, Teams, Gesprekken, beveiligingswaarschuwingen en Universal Print.
- Stamgroep
- SAP
Gebeurtenishandlers
Een gebeurtenisabonnement is een algemene configuratieresource waarmee u de gebeurtenis-handler of bestemming kunt definiëren waarnaar gebeurtenissen worden verzonden met behulp van pushlevering. U kunt bijvoorbeeld gegevens verzenden naar een webhook, Azure-functie of Event Hubs. Zie voor een volledige lijst met ondersteunde gebeurtenis-handlers:
- Gebeurtenis-handlers die worden ondersteund voor naamruimteonderwerpen.
- Gebeurtenis-handlers die worden ondersteund voor aangepaste onderwerpen, systemen, domeinen en partners.
Pull-levering van discrete gebeurtenissen
Azure Event Grid biedt pull CloudEvents-levering. Met deze leveringsmodus maken clients verbinding met Event Grid om gebeurtenissen te lezen. De volgende gebruiksvoorbeelden kunnen worden gerealiseerd met behulp van pull-levering.
Gebeurtenissen ontvangen in uw eigen tempo
Een of meer clients kunnen verbinding maken met Azure Event Grid om berichten in hun eigen tempo te lezen. Event Grid biedt clients volledige controle over het verbruik van gebeurtenissen. Uw toepassing kan bijvoorbeeld gebeurtenissen ontvangen op bepaalde tijdstippen van de dag. Uw oplossing kan ook het verbruik verhogen door meer clients toe te voegen die lezen uit Event Grid.
Gebeurtenissen via een privékoppeling gebruiken
U kunt privékoppelingen configureren om verbinding te maken met Azure Event Grid om CloudEvents te publiceren en te lezen via een privé-eindpunt in uw virtuele netwerk. Verkeer tussen uw virtuele netwerk en Event Grid reist via het Microsoft-backbonenetwerk.
Belangrijk
Privékoppelingen zijn beschikbaar met pull-levering, niet met pushlevering. U kunt privékoppelingen gebruiken wanneer uw toepassing verbinding maakt met Event Grid om gebeurtenissen te publiceren of gebeurtenissen te ontvangen, niet wanneer Event Grid verbinding maakt met uw webhook of Azure-service om gebeurtenissen te leveren.
Regio's waar Event Grid-naamruimte beschikbaar is
Hier volgt de lijst met regio's waar de nieuwe functies voor MQTT-broker- en naamruimteonderwerpen beschikbaar zijn:
Region | Region | Region | Region |
---|---|---|---|
Australië - oost | Australië - zuidoost | Australië - centraal | Australië - centraal 2 |
Brazilië - zuid | Brazilië - zuidoost | Canada - midden | Canada - oost |
India - centraal | Central US | Azië - oost | VS - oost |
VS - oost 2 | VS - west | Frankrijk - centraal | Frankrijk - zuid |
Duitsland - noord | Duitsland - west-centraal | Israël - centraal | Italië - noord |
Japan - oost | Japan - west | Korea - centraal | Korea - zuid |
Mexico - centraal | VS - noord-centraal | Europa - noord | Noorwegen - oost |
Polen - centraal | Zuid-Afrika - west | Zuid-Afrika - noord | VS - zuid-centraal |
India - zuid | Azië - zuidoost | Centraal Spanje | Zweden - centraal |
Zweden - zuid | Zwitserland - noord | Zwitserland - west | VAE - noord |
UAE - centraal | Verenigd Koninkrijk Zuid | Verenigd Koninkrijk West | Europa -west |
VS - west 2 | US - west 3 | VS - west-centraal |
Volgende stappen
MQTT-berichten
- Overzicht
- MQTT-berichten publiceren en abonneren
- Zelfstudie: MQTT-berichten routeren naar Azure Event Hubs met behulp van naamruimteonderwerpen
- Zelfstudie: MQTT-berichten routeren naar Azure Functions met behulp van aangepaste onderwerpen
Gegevensdistributie met behulp van pull- of pushlevering
- Overzicht van pull-levering.
- Overzicht van pushlevering.
- Concepten
- Quickstart: Publiceren en abonneren op app-gebeurtenissen met behulp van naamruimteonderwerpen.