Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Een gebeurtenisdomein in Azure Event Grid biedt één publicatie-eindpunt voor duizenden afzonderlijke onderwerpen met betrekking tot dezelfde toepassing. U kunt een gebeurtenisdomein beschouwen als een meta-onderwerp dat veel afzonderlijke onderwerpen bevat. Bij het publiceren van een gebeurtenis moet de uitgever het doelonderwerp opgeven in het gebeurtenisdomein waarnaar deze wil publiceren. De uitgever kan een matrix of een batch gebeurtenissen verzenden waarbij gebeurtenissen naar verschillende onderwerpen in het gebeurtenisdomein worden verzonden. Zie Publiceren naar een gebeurtenisdomein voor meer informatie.
Gebeurtenisdomeinen bieden u ook verificatie- en autorisatiecontrole over elk onderwerp, zodat u uw tenants kunt partitioneren. In dit artikel wordt beschreven hoe u gebeurtenisdomeinen gebruikt om de stroom van aangepaste gebeurtenissen te beheren voor uw verschillende zakelijke organisaties, klanten of toepassingen. Gebeurtenisdomeinen gebruiken om het volgende te doen:
- Beheer multitenant gebeurtenisgestuurde architecturen op schaal.
- Beheer uw verificatie en autorisatie.
- Partitioneer uw onderwerpen zonder dat u ze afzonderlijk hoeft te beheren.
- Vermijd om afzonderlijk te publiceren naar elk van uw topic-eindpunten.
Voorbeeldgebruiksscenario voor een gebeurtenisdomein
Gebeurtenisdomeinen worden het eenvoudigst uitgelegd met behulp van een voorbeeld. Stel dat u Contoso Construction Machinery runt, een bedrijf waar u tractoren, graafmachines en ander zwaar materieel produceert. Als onderdeel van het uitvoeren van het bedrijf pusht u realtime informatie naar klanten over apparatuuronderhoud, systeemstatus en contractupdates. Al deze informatie gaat naar verschillende eindpunten, waaronder uw app, klanteindpunten en andere infrastructuur die uw klanten hebben ingesteld.
Met gebeurtenisdomeinen kunt u Contoso Construction Machinery modelleren als één Event Grid-entiteit. Elk van uw klanten wordt weergegeven als een onderwerp binnen het domein. Verificatie en autorisatie worden verwerkt met behulp van Microsoft Entra-id. Elk van uw klanten kan zich abonneren op hun onderwerp en hun gebeurtenissen aan hen laten leveren. Beheerde toegang via het gebeurtenisdomein zorgt ervoor dat ze alleen toegang hebben tot hun onderwerp.
Het biedt u ook één eindpunt, waarnaar u al uw klantgebeurtenissen kunt publiceren. Event Grid zorgt ervoor dat elk onderwerp alleen op de hoogte is van gebeurtenissen binnen het bereik van de tenant.
Toegangsbeheer voor gebeurtenisdomeinen
Gebeurtenisdomeinen bieden gedetailleerde autorisatie- en verificatiebeheer voor elk onderwerp via Azure op rollen gebaseerd toegangsbeheer (Azure RBAC). Gebruik Azure RBAC-rollen om elke tenant in uw toepassing te beperken tot alleen de onderwerpen waarvoor u ze toegang wilt verlenen. Azure RBAC in gebeurtenisdomeinen werkt op dezelfde manier als beheerd toegangsbeheer in de rest van Event Grid en Azure. Gebruik Azure RBAC om aangepaste roldefinities in gebeurtenisdomeinen te maken en af te dwingen.
Ingebouwde rollen voor gebeurtenisdomeinen
Event Grid heeft twee ingebouwde roldefinities waarmee Azure RBAC eenvoudiger kan worden gebruikt met gebeurtenisdomeinen:
- EventGrid EventSubscription Bijdrager
- EventGrid EventSubscription Reader
Wijs deze rollen toe aan gebruikers die zich moeten abonneren op onderwerpen in uw gebeurtenisdomein. Beperk elke roltoewijzing tot alleen het onderwerp waarop de gebruiker zich moet abonneren. Zie Ingebouwde rollen voor Event Grid voor informatie over deze rollen.
Abonneren op onderwerpen in een gebeurtenisdomein
Abonneren op gebeurtenissen voor een onderwerp binnen een gebeurtenisdomein is hetzelfde als het maken van een gebeurtenisabonnement op een aangepast onderwerp of het abonneren op een gebeurtenis vanuit een Azure-service.
Belangrijk
Een domeinonderwerp is een automatisch beheerde resource in Event Grid. U kunt een gebeurtenisabonnement maken op het domeinbereik zonder eerst het domeinonderwerp te maken. In dat geval maakt Event Grid automatisch namens u het domeinonderwerp. U kunt er ook voor kiezen om het domeinonderwerp handmatig te maken. Dit gedrag vermindert het aantal resources dat u moet beheren bij het werken met een groot aantal domeinonderwerpen. Wanneer het laatste abonnement op een domeinonderwerp wordt verwijderd, wordt het domeinonderwerp ook verwijderd, ongeacht of het domeinonderwerp handmatig is gemaakt of automatisch is gemaakt.
Abonnementen met domeinbereik
Gebeurtenisdomeinen bieden ook ondersteuning voor abonnementen binnen het domeinbereik. Een gebeurtenisabonnement binnen het bereik van het gebeurtenisdomein ontvangt alle gebeurtenissen die naar het gebeurtenisdomein worden verzonden, ongeacht naar welk onderwerp de gebeurtenissen worden verzonden. Abonnementen op domeinbereik zijn handig voor beheer- en controlescenario's.
Publiceren naar een gebeurtenisdomein
Wanneer u een gebeurtenisdomein maakt, biedt Event Grid een publicatie-eindpunt dat vergelijkbaar is met het eindpunt voor een aangepast onderwerp. Als u gebeurtenissen wilt publiceren naar een onderwerp in een gebeurtenisdomein, pusht u de gebeurtenissen naar het eindpunt van het gebeurtenisdomein op dezelfde manier als voor een aangepast onderwerp. Het enige verschil is dat u de topic moet opgeven waarheen de gebeurtenis moet worden verzonden. Als u bijvoorbeeld de volgende matrix met gebeurtenissen publiceert, wordt de gebeurtenis verzonden naar "id": "1111" het onderwerp foo en de gebeurtenis met "id": "2222" het onderwerp bar.
Notitie
Gebeurtenisdomeinen bieden geen ondersteuning voor broadcastscenario's waarbij een gebeurtenis wordt verzonden naar een gebeurtenisdomein en elk onderwerp in het domein een kopie van de gebeurtenis ontvangt. Bij het publiceren van gebeurtenissen moet de uitgever het doelonderwerp opgeven in het gebeurtenisdomein waarnaar het wil publiceren. Om dezelfde gebeurtenispayload naar meerdere topics in het eventdomein te publiceren, moet de publisher de gebeurtenispayload dupliceren, de topicnaam voor elke kopie wijzigen en deze afzonderlijk of als batch via het eventdomeineindpunt naar Event Grid publiceren.
Wanneer u het gebeurtenisschema van de cloud gebruikt, geeft u de naam van het Event Grid-onderwerp in het gebeurtenisdomein op als de waarde van de source eigenschap. In het volgende voorbeeld is de source eigenschap ingesteld op foo de eerste gebeurtenis en bar op voor de tweede gebeurtenis.
Als u een ander veld wilt gebruiken om het doelonderwerp in het gebeurtenisdomein op te geven, configureer dan de toewijzing van het invoerschema wanneer u het gebeurtenisdomein maakt. Voor de REST API gebruikt u de eigenschap properties.inputSchemaMapping om dat veld toe te wijzen aan properties.topic. Gebruik EventGridJsonInputSchemaMappingvoor de .NET SDK . Andere SDK's ondersteunen ook schematoewijzing.
[{
"source": "foo",
"id": "1111",
"type": "maintenanceRequested",
"subject": "myapp/vehicles/diggers",
"time": "2018-10-30T21:03:07+00:00",
"data": {
"make": "Contoso",
"model": "Small Digger"
},
"specversion": "1.0"
},
{
"source": "bar",
"id": "2222",
"type": "maintenanceCompleted",
"subject": "myapp/vehicles/tractors",
"time": "2018-10-30T21:04:12+00:00",
"data": {
"make": "Contoso",
"model": "Big Tractor"
},
"specversion": "1.0"
}]
Gebeurtenisdomeinen regelen het publiceren naar onderwerpen voor u. In plaats van gebeurtenissen afzonderlijk naar elk onderwerp te publiceren, publiceert u alle gebeurtenissen naar het eindpunt van het gebeurtenisdomein en stuurt Event Grid elke gebeurtenis naar het juiste onderwerp.
Prijzen van gebeurtenisdomeinen
Gebeurtenisdomeinen gebruiken dezelfde bewerkingsprijzen als andere functies in Event Grid. Bewerkingen werken hetzelfde in gebeurtenisdomeinen als in aangepaste onderwerpen:
- Elke ingang van een gebeurtenis naar een gebeurtenisdomein is één bewerking.
- Elke bezorgingspoging voor een gebeurtenis is één bewerking.
Gerelateerde inhoud
Zie Gebeurtenisdomeinen beheren voor meer informatie over het instellen van gebeurtenisdomeinen, het maken van onderwerpen, het maken van gebeurtenisabonnementen en het publiceren van gebeurtenissen.