Rejestr schematów w usłudze Azure Event Hubs
Rejestr schematów w usłudze Azure Event Hubs udostępnia repozytorium do używania schematów i zarządzania nimi w scenariuszach przesyłania strumieniowego zdarzeń opartych na schemacie.
Uwaga
Rejestr schematów nie jest obsługiwany w warstwie Podstawowa.
Składniki rejestru schematów
Przestrzeń nazw usługi Event Hubs może hostować grupy schematów obok centrów zdarzeń (lub tematów platformy Kafka). Hostuje rejestr schematów i może mieć wiele grup schematów. Pomimo hostowania w usłudze Azure Event Hubs rejestr schematów może być używany powszechnie ze wszystkimi usługami obsługi komunikatów platformy Azure i dowolnym innym brokerem komunikatów lub zdarzeń. Każda z tych grup schematów jest oddzielnie zabezpieczanym repozytorium dla zestawu schematów. Grupy można dopasować do określonej aplikacji lub jednostki organizacyjnej.
Grupy schematów
Grupa schematów jest logiczną grupą podobnych schematów na podstawie kryteriów biznesowych. Grupa schematów może przechowywać wiele wersji schematu. Ustawienie wymuszania zgodności w grupie schematów może pomóc w zapewnieniu, że nowsze wersje schematów są zgodne z poprzednimi wersjami.
Granica zabezpieczeń nałożona przez mechanizm grupowania pomaga zagwarantować, że tajemnice handlowe nie będą przypadkowo wyciekać przez metadane w sytuacjach, w których przestrzeń nazw jest współdzielona przez wielu partnerów. Umożliwia również właścicielom aplikacji zarządzanie schematami niezależnie od innych aplikacji, które współużytkuje tę samą przestrzeń nazw.
Schematy
Schematy definiują umowę między producentami a konsumentami. Schemat zdefiniowany w rejestrze schematów usługi Event Hubs pomaga zarządzać kontraktem poza danymi zdarzeń, co powoduje usunięcie obciążenia. Schemat ma nazwę, typ (na przykład: rekord, tablica itd.), tryb zgodności (brak, do przodu, do tyłu, pełny) i typ serializacji (zarówno Avro, jak i JSON). Można utworzyć wiele wersji schematu i pobrać i użyć określonej wersji schematu.
Formaty schematu
Formaty schematu służą do określania sposobu, w jaki schemat jest ustrukturyzowany i zdefiniowany, przy czym każdy format określa określone wytyczne i składnię służącą do definiowania struktury zdarzeń, które będą używane do przesyłania strumieniowego zdarzeń.
Schemat Avro
Avro to popularny system serializacji danych, który korzysta z kompaktowego formatu binarnego i zapewnia możliwości ewolucji schematu.
Aby dowiedzieć się więcej na temat korzystania z formatu schematu Avro w rejestrze schematów usługi Event Hubs, zobacz:
- Jak używać rejestru schematów z platformami Kafka i Avro
- Jak używać rejestru schematów z zestawem SDK platformy .NET usługi Event Hubs (AMQP) i avro.
Schemat JSON
Schemat JSON to ustandaryzowany sposób definiowania struktury i typów danych zdarzeń. Schemat JSON umożliwia niezawodne i niezawodne użycie formatu danych JSON w strumieniu zdarzeń.
Aby dowiedzieć się więcej na temat używania formatu schematu JSON z rejestrem schematów usługi Event Hubs, zobacz:
Ewolucja schematu
Schematy muszą ewoluować wraz z wymaganiami biznesowymi producentów i konsumentów. Usługa Azure Schema Registry obsługuje ewolucję schematu, wprowadzając tryby zgodności na poziomie grupy schematów. Podczas tworzenia grupy schematów można określić tryb zgodności schematów uwzględninych w tej grupie schematów. Po zaktualizowaniu schematu zmiana powinna być zgodna z przypisanym trybem zgodności, a następnie tworzy tylko nową wersję schematu.
Uwaga
Ewolucja schematu jest obsługiwana tylko w przypadku formatu schematu Avro.
Usługa Azure Schema Registry dla usługi Event Hubs obsługuje następujące tryby zgodności.
Zgodność ze starszymi wersjami
Tryb zgodności z poprzednimi wersjami umożliwia użytkownikowi używanie nowej wersji schematu, ale może przetwarzać komunikaty ze starą wersją schematu. W przypadku korzystania z trybu zgodności z poprzednimi wersjami w grupie schematów umożliwia wprowadzenie następujących zmian w schemacie.
- Usuwanie pól.
- Dodaj pola opcjonalne.
Zgodność z przekazywaniem
Zgodność z przekazywaniem umożliwia kodowi odbiorcy używanie starej wersji schematu, ale może odczytywać komunikaty przy użyciu nowego schematu. Tryb zgodności do przodu umożliwia wprowadzanie zmian w schemacie.
- Dodaj pola
- Usuwanie pól opcjonalnych
Brak zgodności
None
Gdy jest używany tryb zgodności, rejestr schematów nie wykonuje żadnych testów zgodności podczas aktualizowania schematów.
Zestawy SDK klienta
Można użyć jednej z następujących bibliotek, aby dołączyć serializator Avro, którego można użyć do serializacji i deserializacji ładunków zawierających identyfikatory schematu rejestru schematów schematu i dane zakodowane w avro.
- .NET — Microsoft.Azure.Data.SchemaRegistry.ApacheAvro
- Java — azure-data-schemaregistry-avro
- Python — azure-schemaregistry-avroserializer
- JavaScript - @azure/schema-registry-avro
- Apache Kafka — uruchamianie zintegrowanych z platformą Kafka serializatorów i deserializacji apache Avro wspieranych przez usługę Azure Schema Registry. Serializator klienta platformy Apache Kafka klienta java dla rejestru schematów platformy Azure może być używany w dowolnym scenariuszu platformy Apache Kafka i z dowolnym wdrożeniem opartym na platformie Apache Kafka® lub usługą w chmurze.
- Interfejs wiersza polecenia platformy Azure — przykład dodawania schematu do grupy schematów przy użyciu interfejsu wiersza polecenia, zobacz Dodawanie schematu do grupy schematów przy użyciu interfejsu wiersza polecenia.
- PowerShell — przykład dodawania schematu do grupy schematów przy użyciu programu PowerShell, zobacz Dodawanie schematu do grupy schematów przy użyciu programu PowerShell.
Limity
Aby uzyskać informacje o limitach (na przykład: liczbie grup schematów w przestrzeni nazw) usługi Event Hubs, zobacz Event Hubs quotas and limits (Limity i limity usługi Event Hubs).
Kontrola dostępu na podstawie ról na platformie Azure
Aby programowo uzyskać dostęp do rejestru schematów, wykonaj następujące kroki:
- Rejestrowanie aplikacji w identyfikatorze Entra firmy Microsoft
- Dodaj podmiot zabezpieczeń aplikacji do jednej z następujących ról kontroli dostępu na podstawie ról (RBAC) platformy Azure na poziomie przestrzeni nazw .
Rola | Opis |
---|---|
Właściciel | Odczytywanie, zapisywanie i usuwanie grup i schematów rejestru schematów. |
Współautor | Odczytywanie, zapisywanie i usuwanie grup i schematów rejestru schematów. |
Czytelnik rejestru schematów | Odczytywanie i wyświetlanie listy grup rejestru schematów i schematów. |
Współautor rejestru schematów | Odczytywanie, zapisywanie i usuwanie grup i schematów rejestru schematów. |
Aby uzyskać instrukcje dotyczące tworzenia rejestracji aplikacji przy użyciu witryny Azure Portal, zobacz Rejestrowanie aplikacji przy użyciu identyfikatora Entra firmy Microsoft. Zanotuj identyfikator klienta (identyfikator aplikacji), identyfikator dzierżawy i wpis tajny do użycia w kodzie.
Następne kroki
- Aby dowiedzieć się, jak utworzyć rejestr schematów przy użyciu witryny Azure Portal, zobacz Tworzenie rejestru schematów usługi Event Hubs przy użyciu witryny Azure Portal.
- Zapoznaj się z poniższymi przykładami biblioteki klienta Avro rejestru schematów Avro.