Kommentar
Å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.
En händelsedomän i Azure Event Grid tillhandahåller en enda publiceringsslutpunkt för tusentals enskilda ämnen relaterade till samma program. Du kan se en händelsedomän som ett metaämne som innehåller många enskilda ämnen. När du publicerar en händelse måste utgivaren ange målämnet i den händelsedomän som den vill publicera till. Utgivaren kan skicka en matris eller en batch med händelser där händelser skickas till olika ämnen i händelsedomänen. Mer information finns i Publicera till en händelsedomän.
Händelsedomäner ger dig också autentiserings- och auktoriseringskontroll över varje ämne så att du kan partitionera dina klienter. Den här artikeln beskriver hur du använder händelsedomäner för att hantera flödet av anpassade händelser till dina olika företagsorganisationer, kunder eller program. Använd händelsedomäner för att:
- Hantera händelsedrivna arkitekturer för flera klienter i stor skala.
- Hantera din autentisering och auktorisering.
- Partitionera dina ämnen utan att hantera var och en individuellt.
- Undvik att publicera individuellt till var och en av dina ämnesslutpunkter.
Användningsfall för händelsedomänexempel
Händelsedomäner förklaras enklast med hjälp av ett exempel. Låt oss säga att du kör Contoso Construction Machinery, där du tillverkar traktorer, grävutrustning och andra tunga maskiner. Som en del av driften av verksamheten skickar du realtidsinformation till kunder om underhåll av utrustning, systemhälsa och kontraktsuppdateringar. All den här informationen går till olika slutpunkter, inklusive din app, kundslutpunkter och annan infrastruktur som dina kunder har konfigurerat.
Med händelsedomäner kan du modellera Contoso Construction Machinery som en enda Event Grid-entitet. Var och en av dina kunder representeras som ett ämne inom domänen. Autentisering och auktorisering hanteras med hjälp av Microsoft Entra-ID. Var och en av dina kunder kan prenumerera på sitt ämne och få sina händelser levererade till dem. Hanterad åtkomst via händelsedomänen säkerställer att de bara kan komma åt sitt ämne.
Det ger dig också en enda slutpunkt som du kan publicera alla dina kundhändelser till. Event Grid tar hand om att se till att varje ämne bara är medvetet om händelser som är begränsade till klientorganisationen.
Åtkomsthantering för händelsedomäner
Händelsedomäner ger detaljerad auktorisering och autentiseringskontroll över varje ämne via Azure rollbaserad åtkomstkontroll (Azure RBAC). Använd Azure RBAC-roller för att begränsa varje klientorganisation i ditt program till endast de ämnen som du vill ge dem åtkomst till. Azure RBAC i händelsedomäner fungerar på samma sätt som hanterad åtkomstkontroll fungerar i resten av Event Grid och Azure. Använd Azure RBAC för att skapa och framtvinga anpassade rolldefinitioner i händelsedomäner.
Inbyggda roller för händelsedomäner
Event Grid har två inbyggda rolldefinitioner som gör Azure RBAC enklare att arbeta med händelsedomäner:
- EventGrid EventSubscription-medverkande
- EventGrid EventSubscription Reader
Tilldela dessa roller till användare som behöver prenumerera på ämnen i din händelsedomän. Begränsa varje rolltilldelning till endast det ämne som användaren behöver prenumerera på. Information om dessa roller finns i Inbyggda roller för Event Grid.
Prenumerera på ämnen i en händelsedomän
Att prenumerera på händelser för ett ämne inom en händelsedomän är detsamma som att skapa en händelseprenumeration på ett anpassat ämne eller prenumerera på en händelse från en Azure-tjänst.
Viktigt!
Ett domänämne är en automatiskt hanterad resurs i Event Grid. Du kan skapa en händelseprenumeration i domänomfånget utan att först skapa domänämnet. I så fall skapar Event Grid automatiskt domänämnet åt dig. Du kan också välja att skapa domänavsnittet manuellt. Det här beteendet minskar antalet resurser som du måste hantera när du arbetar med ett stort antal domänämnen. När den senaste prenumerationen på ett domänämne tas bort tas även domänämnet bort, oavsett om domänavsnittet skapades manuellt eller skapades automatiskt.
Prenumerationer med domänomfattning
Händelsedomäner stöder även prenumerationer med domänomfattning. En händelseprenumeration i händelsedomänomfånget tar emot alla händelser som skickas till händelsedomänen, oavsett vilket ämne händelserna skickas till. Prenumerationer med domänomfattning är användbara för hanterings- och granskningsscenarier.
Publicera till en händelsedomän
När du skapar en händelsedomän tillhandahåller Event Grid en publiceringsslutpunkt som liknar slutpunkten för ett anpassat ämne. Om du vill publicera händelser till ett ämne i en händelsedomän skickar du händelserna till händelsedomänens slutpunkt på samma sätt som för ett anpassat ämne. Den enda skillnaden är att du måste ange det ämne som händelsen ska levereras till. Om du till exempel publicerar följande matris med händelser skickas händelsen med "id": "1111" till ämnet foo och händelsen med "id": "2222" till ämnet bar.
Kommentar
Händelsedomäner stöder inte sändningsscenarier där en händelse skickas till en händelsedomän och varje ämne i domänen tar emot en kopia av händelsen. När du publicerar händelser måste utgivaren ange målämnet i den händelsedomän som den vill publicera till. Om du vill publicera samma händelsenyttolast till flera ämnen i händelsedomänen måste utgivaren duplicera händelsenyttolasten, ändra ämnesnamnet för varje kopia och publicera dem till Event Grid med händelsedomänslutpunkten, antingen individuellt eller som en batch.
När du använder molnhändelseschemat anger du namnet på Event Grid-ämnet i händelsedomänen som värdet för source egenskapen. I följande exempel är egenskapen source inställd foo på för den första händelsen och till bar för den andra händelsen.
Om du vill använda ett annat fält för att ange målämnet i händelsedomänen konfigurerar du schemamappning för indata när du skapar händelsedomänen. För REST-API:et använder du egenskapen properties.inputSchemaMapping för att mappa fältet till properties.topic. För .NET SDK använder du EventGridJsonInputSchemaMapping. Andra SDK:er stöder också schemamappning.
[{
"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"
}]
Händelsedomäner hanterar publicering till ämnen åt dig. I stället för att publicera händelser till varje ämne individuellt publicerar du alla händelser till händelsedomänens slutpunkt och Event Grid dirigerar varje händelse till rätt ämne.
Prissättning för händelsedomäner
Händelsedomäner använder samma driftspriser som andra funktioner i Event Grid. Åtgärderna fungerar på samma sätt i händelsedomäner som i anpassade ämnen:
- Varje ingress för en händelse till en händelsedomän är en åtgärd.
- Varje leveransförsök för en händelse är en åtgärd.
Relaterat innehåll
Mer information om hur du konfigurerar händelsedomäner, skapar ämnen, skapar händelseprenumerationer och publicerar händelser finns i Hantera händelsedomäner.