Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Domena zdarzeń w Azure Event Grid udostępnia pojedynczy punkt końcowy publikowania dla tysięcy poszczególnych tematów związanych z tą samą aplikacją. Domenę zdarzeń można traktować jako meta-temat, który zawiera wiele poszczególnych tematów. Podczas publikowania zdarzenia wydawca musi określić temat docelowy w domenie zdarzeń, do której ma zostać opublikowany. Wydawca może wysyłać tablicę lub partię zdarzeń, przy czym zdarzenia mogą być kierowane do różnych tematów w domenie zdarzeń. Aby uzyskać szczegółowe informacje, zobacz Publikowanie w domenie zdarzeń.
Domeny zdarzeń zapewniają również kontrolę uwierzytelniania i autoryzacji nad poszczególnymi tematami, aby umożliwić partycjonowanie dzierżaw. W tym artykule opisano sposób używania domen zdarzeń do zarządzania przepływem zdarzeń niestandardowych w różnych organizacjach biznesowych, klientach lub aplikacjach. Użyj domen zdarzeń, aby:
- Zarządzaj wielodostępnymi architekturami opartymi na zdarzeniach na dużą skalę.
- Zarządzanie uwierzytelnianiem i autoryzacją.
- Partycjonuj tematy bez konieczności zarządzania każdym z nich osobno.
- Unikaj indywidualnego publikowania w poszczególnych punktach końcowych tematu.
Przykład zastosowania domeny zdarzeń
Domeny zdarzeń są najłatwiej wyjaśnione przy użyciu przykładu. Załóżmy, że uruchamiasz maszyny budowlane Contoso, gdzie produkujesz ciągniki, sprzęt kopania i inne ciężkie maszyny. W ramach prowadzenia działalności firma wypycha informacje w czasie rzeczywistym do klientów dotyczące konserwacji sprzętu, kondycji systemów i aktualizacji kontraktów. Wszystkie te informacje są dostępne w różnych punktach końcowych, w tym aplikacji, punktach końcowych klienta i innej infrastrukturze skonfigurowanej przez klientów.
Domeny zdarzeń umożliwiają modelowanie maszyn budowlanych Contoso jako pojedynczej jednostki usługi Event Grid. Każdy z Twoich klientów jest reprezentowany jako temat w domenie. Uwierzytelnianie i autoryzacja są obsługiwane przy użyciu identyfikatora Entra firmy Microsoft. Każdy z Twoich klientów może subskrybować przypisany mu temat i otrzymywać swoje zdarzenia. Kontrolowany dostęp za pośrednictwem domeny zdarzeń zapewnia, że mogą uzyskać dostęp wyłącznie do swojego tematu.
Zapewnia on również pojedynczy punkt końcowy, do którego można publikować wszystkie zdarzenia klienta. Usługa Event Grid zadba o to, aby każdy temat miał dostęp tylko do zdarzeń przypisanych do jego dzierżawy.
Zarządzanie dostępem dla domen zdarzeń
Domeny zdarzeń zapewniają szczegółową kontrolę autoryzacji i uwierzytelniania dla każdego tematu za pomocą kontroli dostępu opartej na rolach platformy Azure (Azure RBAC). Użyj ról RBAC platformy Azure, aby ograniczyć dostęp każdego dzierżawcy w aplikacji wyłącznie do tematów, do których chcesz przyznać mu dostęp. Mechanizm RBAC platformy Azure w domenach zdarzeń działa tak samo, jak działa zarządzana kontrola dostępu w pozostałych elementach usługi Event Grid i platformy Azure. Użyj kontroli dostępu opartej na rolach platformy Azure (Azure RBAC), aby tworzyć i wymuszać niestandardowe definicje ról w domenach zdarzeń.
Wbudowane role dla domen zdarzeń
Usługa Event Grid ma dwie wbudowane definicje ról, które ułatwiają Azure RBAC pracę z domenami zdarzeń:
- EventGrid EventSubscription Współautor
- EventGrid EventSubscription Reader
Przypisz te role użytkownikom, którzy mają subskrybować tematy w domenie zdarzeń. Określ zakres każdego przypisania roli tylko do tematu, do którego użytkownik musi zasubskrybować. Aby uzyskać informacje o tych rolach, zobacz Wbudowane role usługi Event Grid.
Subskrybowanie tematów w domenie zdarzeń
Subskrybowanie zdarzeń dla tematu w domenie zdarzeń jest takie samo jak tworzenie subskrypcji zdarzeń w temacie niestandardowym lub subskrybowanie zdarzenia z usługi platformy Azure.
Ważne
Temat domeny to zasób zarządzany automatycznie w usłudze Event Grid. Subskrypcję zdarzeń można utworzyć w zakresie domeny bez uprzedniego utworzenia tematu domeny. W takim przypadku usługa Event Grid automatycznie tworzy temat domeny w Twoim imieniu. Możesz również ręcznie utworzyć temat domeny. To zachowanie zmniejsza liczbę zasobów, którymi trzeba zarządzać podczas pracy z dużą liczbą tematów dotyczących domeny. Gdy ostatnia subskrypcja tematu domeny zostanie usunięta, temat domeny zostanie również usunięty, niezależnie od tego, czy temat domeny został utworzony ręcznie, czy automatycznie utworzony.
Subskrypcje zakresu domeny
Domeny zdarzeń obsługują również subskrypcje zakresu domeny. Subskrypcja zdarzeń w zakresie domeny zdarzeń odbiera wszystkie zdarzenia wysyłane do domeny zdarzeń, niezależnie od tematu, do którego są wysyłane zdarzenia. Subskrypcje zakresu domeny są przydatne w scenariuszach zarządzania i inspekcji.
Publikowanie w domenie zdarzeń
Podczas tworzenia domeny zdarzeń usługa Event Grid udostępnia punkt końcowy publikowania podobny do punktu końcowego dla tematu niestandardowego. Aby opublikować zdarzenia w dowolnym temacie w domenie zdarzeń, wypchnij zdarzenia do punktu końcowego domeny zdarzeń w taki sam sposób, jak w przypadku tematu niestandardowego. Jedyną różnicą jest to, że należy określić temat, do którego ma zostać dostarczone zdarzenie. Na przykład opublikowanie poniższej tablicy zdarzeń powoduje wysłanie zdarzenia z "id": "1111" do tematu foo oraz zdarzenia z "id": "2222" do tematu bar.
Uwaga
Domeny zdarzeń nie obsługują scenariuszy emisji, w których zdarzenie jest wysyłane do domeny zdarzeń, a każdy temat w domenie odbiera kopię zdarzenia. Podczas publikowania zdarzeń wydawca musi określić temat docelowy w domenie zdarzeń, do której ma zostać opublikowany. Aby opublikować ten sam ładunek danych zdarzenia do wielu tematów w domenie zdarzeń, wydawca musi zduplikować ładunek danych zdarzenia, zmienić nazwę tematu dla każdej kopii i opublikować je w usłudze Event Grid przy użyciu punktu końcowego domeny zdarzeń, pojedynczo lub wsadowo.
W przypadku korzystania ze schematu zdarzeń w chmurze określ nazwę tematu usługi Event Grid w domenie zdarzeń jako wartość source właściwości. W poniższym przykładzie właściwość source jest ustawiona na foo dla pierwszego zdarzenia i na bar dla drugiego zdarzenia.
Aby użyć innego pola, aby określić temat docelowy w domenie zdarzeń, skonfiguruj mapowanie schematu wejściowego podczas tworzenia domeny zdarzeń. W przypadku interfejsu API REST użyj właściwości properties.inputSchemaMapping , aby zamapować to pole na properties.topic. W przypadku zestawu SDK .NET użyj polecenia EventGridJsonInputSchemaMapping. Inne zestawy SDK obsługują również mapowanie schematów.
[{
"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"
}]
Domeny zdarzeń obsługują publikowanie w tematach. Zamiast publikować zdarzenia dla każdego tematu indywidualnie, należy opublikować wszystkie zdarzenia w punkcie końcowym domeny zdarzeń, a usługa Event Grid kieruje każde zdarzenie do poprawnego tematu.
Cennik domeny zdarzeń
Domeny zdarzeń używają tych samych cen operacji co inne funkcje w usłudze Event Grid. Operacje działają w domenach zdarzeń tak samo jak w tematach niestandardowych:
- Każdy wpływ zdarzenia do domeny zdarzeń stanowi jedną operację.
- Każda próba dostarczenia zdarzenia to jedna operacja.
Powiązana zawartość
Aby dowiedzieć się więcej o konfigurowaniu domen zdarzeń, tworzeniu tematów, tworzeniu subskrypcji zdarzeń i publikowaniu zdarzeń, zobacz Zarządzanie domenami zdarzeń.