Pushlevering van Azure Event Grid - concepten
In dit artikel worden de belangrijkste Event Grid-concepten beschreven die betrekking hebben op pushlevering.
Notitie
Zie dit artikel voor Event Grid-concepten met betrekking tot het nieuwe resourcemodel dat gebruikmaakt van naamruimten.
gebeurtenis
Een gebeurtenis is de kleinste hoeveelheid informatie die volledig beschrijft wat er in een systeem is gebeurd. Elke gebeurtenis heeft algemene informatie, zoals source
de gebeurtenis, time
de gebeurtenis vond plaats en een unieke id. Elke gebeurtenis heeft ook specifieke informatie die alleen relevant is voor het specifieke type gebeurtenis. Een gebeurtenis over het maken van een nieuw bestand in Azure Storage bevat bijvoorbeeld informatie over het bestand, zoals de waarde lastTimeModified
. Een Event Hubs-gebeurtenis heeft het URL
Capture-bestand. Een gebeurtenis over een nieuwe order in de microservice Orders kan een orderId
kenmerk en een URL
kenmerk hebben voor de statusweergave van de order.
CloudEvents
Event Grid maakt gebruik van de open standaard CloudEvents 1.0-specificatie van CNCF met behulp van de HTTP-protocolbinding met de JSON-indeling. CloudEvents is een uitbreidbare gebeurtenisspecificatie met gedocumenteerde extensies voor specifieke vereisten. Wanneer u Event Grid gebruikt, is CloudEvents de voorkeursgebeurtenisindeling vanwege de goed gedocumenteerde gebruiksvoorbeelden (modi voor het overdragen van gebeurtenissen, gebeurtenisindelingen, enzovoort), uitbreidbaarheid en verbeterde interoperabiliteit. CloudEvents verbetert de interoperabiliteit door een algemene gebeurtenisindeling te bieden voor het publiceren en gebruiken van gebeurtenissen. Het biedt uniforme tooling en standaard manieren om gebeurtenissen te routeren en te verwerken.
In de volgende tabel ziet u de huidige ondersteuning voor CloudEvents-specificatie:
CloudEvents con tentmodus | Ondersteund? |
---|---|
Gestructureerde JSON | Ja |
Binair | Nee |
De maximale toegestane grootte voor een gebeurtenis is 1 MB. Gebeurtenissen van meer dan 64 kB worden in rekening gebracht in stappen van 64 kB. Zie het CloudEvents-schema voor de eigenschappen die in een gebeurtenis worden verzonden.
Andere indelingen
Event Grid ondersteunt ook de eigen Event Grid-schema-indeling voor uitgevers van systeemgebeurtenissen. U kunt Event Grid configureren om gebeurtenissen te leveren met behulp van de CloudEvents-indeling .
Uitgevers
Een uitgever is de toepassing die gebeurtenissen naar Event Grid verzendt. Het kan dezelfde toepassing zijn als waar de gebeurtenissen afkomstig zijn, de gebeurtenisbron. Azure-services publiceren gebeurtenissen naar Event Grid om een gebeurtenis in hun service aan te kondigen. U kunt gebeurtenissen publiceren via uw eigen toepassing. Organisaties die services buiten Azure hosten, kunnen ook gebeurtenissen publiceren via Event Grid.
Gebeurtenisbronnen
Een gebeurtenisbron is waar de gebeurtenis plaatsvindt. Elke gebeurtenisbron is gerelateerd aan één of meer gebeurtenistypen. Azure Storage is bijvoorbeeld de gebeurtenisbron bij door een blob gemaakte gebeurtenissen. IoT Hub is de gebeurtenisbron bij door een apparaat gemaakte gebeurtenissen. Uw toepassing is de gebeurtenisbron bij aangepaste gebeurtenissen die u definieert. Gebeurtenisbronnen zijn verantwoordelijk voor het verzenden van gebeurtenissen naar Event Grid.
Partners
Een partner is een soort uitgever waarmee gebeurtenissen vanuit het systeem worden verzonden om ze beschikbaar te maken voor Azure-klanten. Een partner is doorgaans een SaaS- of ERP-provider die is geïntegreerd met Azure Event Grid om klanten te helpen gebeurtenisgestuurde gebruiksvoorbeelden te realiseren op verschillende platforms. Partners kunnen niet alleen gebeurtenissen publiceren naar Azure Event Grid, maar ze kunnen er ook gebeurtenissen van ontvangen. Deze mogelijkheden worden ingeschakeld via de functie Partner events .
Onderwerpen
Een onderwerp bevat gebeurtenissen die zijn gepubliceerd naar Event Grid. Doorgaans gebruikt u een onderwerpresource voor een verzameling gerelateerde gebeurtenissen. Abonnees (een Azure-service of andere toepassingen) bepalen op welke onderwerpen u zich wilt abonneren om te reageren op bepaalde typen gebeurtenissen. Er zijn verschillende soorten onderwerpen: aangepaste onderwerpen, systeemonderwerpen en partneronderwerpen.
Aangepaste onderwerpen
Aangepaste onderwerpen zijn ook onderwerpen die worden gebruikt met uw toepassingen. Ze waren het eerste soort onderwerp dat is ontworpen voor het bouwen van gebeurtenisgestuurde integraties voor aangepaste toepassingen. Als zelfstandige resource maken ze hun eigen eindpunt beschikbaar waarop gebeurtenissen worden gepubliceerd.
Aangepaste onderwerpen ondersteunen pushlevering. Raadpleeg wanneer u pull- of pushlevering gebruikt om u te helpen bepalen of pushlevering de juiste aanpak is op basis van uw vereisten. U kunt ook het artikel Aangepaste onderwerpen raadplegen.
Systeemonderwerpen
Systeemonderwerpen zijn ingebouwde onderwerpen die worden geleverd door Azure-services zoals Azure Storage, Azure Event Hubs en Azure Service Bus. U kunt systeemonderwerpen maken in uw Azure-abonnement en u erop abonneren. Zie Overzicht van systeemonderwerpen voor meer informatie.
Partneronderwerpen
Partneronderwerpen zijn een soort onderwerp dat wordt gebruikt om u te abonneren op gebeurtenissen die door een partner zijn gepubliceerd. De functie die dit type integratie mogelijk maakt, wordt Partner events genoemd. Via deze integratie krijgt u een partneronderwerp waarin gebeurtenissen van een partnersysteem beschikbaar worden gesteld. Zodra u een partneronderwerp hebt, maakt u een gebeurtenisabonnement zoals u dat zou doen voor elk ander soort onderwerp.
Gebeurtenisabonnementen
Notitie
Zie dit conceptenartikel voor informatie over gebeurtenisabonnementen onder een naamruimteonderwerp.
Een abonnement vertelt Event Grid welke gebeurtenissen voor een onderwerp u wilt ontvangen. Wanneer u een abonnement maakt, geeft u een eindpunt op voor het verwerken van de gebeurtenis. Eindpunten kunnen een webhook of een Azure-serviceresource zijn. U kunt de gebeurtenissen filteren die naar een eindpunt worden verzonden. U kunt bijvoorbeeld filteren op gebeurtenistype of gebeurtenisonderwerp. Zie gebeurtenisabonnementen en CloudEvents-schema voor meer informatie. Gebeurtenisabonnementen voor aangepaste, systeem- en partneronderwerpen en Domeinen hebben dezelfde resource-eigenschappen.
Zie voor voorbeelden van het maken van abonnementen voor aangepaste, systeem- en partneronderwerpen en domeinen:
- Aangepast onderwerp maken en abonneren op gebeurtenissen met behulp van Azure CLI
- Azure PowerShell-voorbeelden voor Event Grid
- Azure Resource Manager-sjablonen voor Event Grid
Verloop van gebeurtenisabonnement
U kunt een verlooptijd instellen voor gebeurtenisabonnementen die zijn gekoppeld aan aangepaste, systeem-, partner- en domeinonderwerpen en domeinabonnementen. Het gebeurtenisabonnement is na die datum automatisch verlopen. Stel een vervaldatum in voor gebeurtenisabonnementen die slechts gedurende een beperkte tijd nodig zijn en u zich geen zorgen wilt maken over het opschonen van deze abonnementen. Wanneer u bijvoorbeeld een gebeurtenisabonnement maakt om een scenario te testen, kunt u een vervaldatum instellen.
Zie Abonneren met geavanceerde filters voor een voorbeeld van het instellen van een vervaldatum.
Event Handlers
Vanuit het perspectief van Event Grid is een gebeurtenis-handler de plaats waar de gebeurtenis wordt verzonden bij het gebruik van pushlevering. De handler voert een aantal verdere acties uit om de gebeurtenis te verwerken. Wanneer u pushlevering gebruikt, ondersteunt Event Grid verschillende handlertypen. U kunt een ondersteunde Azure-service of uw eigen webhook gebruiken als handler. Afhankelijk van het type handler volgt Event Grid verschillende mechanismen om de levering van de gebeurtenis te garanderen. Voor HTTP-webhook-gebeurtenis-handlers wordt de gebeurtenis opnieuw geprobeerd totdat de handler een statuscode retourneert van 200 – OK
. Voor Azure Storage Queue worden de gebeurtenissen opnieuw geprobeerd totdat de Queue-service het bericht push naar de wachtrij verwerkt.
Zie Gebeurtenis-handlers in Azure Event Grid voor informatie over het leveren van gebeurtenissen aan een van de ondersteunde Event Grid-handlers.
Beveiliging
Event Grid biedt beveiliging voor het abonneren op onderwerpen en bij het publiceren van gebeurtenissen naar onderwerpen. Wanneer u zich abonneert, moet u over voldoende machtigingen beschikken voor het Event Grid-onderwerp. Als u pushlevering gebruikt, is de gebeurtenis-handler een Azure-service en wordt een beheerde identiteit gebruikt om Event Grid te verifiëren, moet de beheerde identiteit een geschikte RBAC-rol hebben. Als u bijvoorbeeld gebeurtenissen naar Event Hubs verzendt, moet de beheerde identiteit die wordt gebruikt in het gebeurtenisabonnement lid zijn van de rol Event Hubs-gegevenszender. Bij het publiceren moet u een SAS-token of sleutelverificatie voor het onderwerp hebben. Zie Event Grid-beveiliging en -verificatie voor meer informatie.
Gebeurtenisverzending
Als Event Grid niet kan bevestigen dat een gebeurtenis is ontvangen door het eindpunt van de abonnee bij het gebruik van pushlevering, wordt de gebeurtenis opnieuw verzonden. Zie De bezorging van Event Grid-berichten en probeer het opnieuw voor meer informatie.
Batching
Wanneer u een aangepast onderwerp gebruikt, moeten gebeurtenissen altijd worden gepubliceerd in een matrix. Dit kan een batch zijn voor scenario's met lage doorvoer.
Definities van inline gebeurtenistypen
Als u een partner bent, kunt u de gebeurtenistypen definiëren die u beschikbaar maakt voor klanten wanneer u een kanaal maakt. Met inline-gebeurtenistypedefinities kunnen abonnees eenvoudig gebeurtenissen filteren op basis van hun gebeurtenistype bij het configureren van een gebeurtenisabonnement.
Beschikbaarheidszones
Azure-beschikbaarheidszones zijn fysiek gescheiden locaties binnen elke Azure-regio die tolerant zijn voor lokale fouten. Ze worden verbonden door een netwerk met hoge prestaties met een retourlatentie van minder dan 2 milliseconden. Elke beschikbaarheidszone bestaat uit een of meer datacenters die zijn uitgerust met onafhankelijke energie-, koelings- en netwerkinfrastructuur. Als één zone wordt beïnvloed, worden regionale services, capaciteit en hoge beschikbaarheid ondersteund door de resterende twee zones. Zie Regio's en beschikbaarheidszones voor meer informatie over beschikbaarheidszones.
Volgende stappen
- Zie Een inleiding tot Event Grid voor een inleiding tot Event Grid.
- Zie Aangepaste gebeurtenissen maken en routeren met Azure Event Grid om aan de slag te gaan met aangepaste onderwerpen.