Dela via


Schemaregister i Azure Event Hubs

Schema registry i Azure Event Hubs ger dig en lagringsplats för att använda och hantera scheman i schemadrivna scenarier för händelseströmning.

Schemaregisterkomponenter

Ett Event Hubs-namnområde kan vara värd för schemagrupper tillsammans med händelsehubbar (eller Kafka-ämnen). Det är värd för ett schemaregister och kan ha flera schemagrupper. Trots att det finns i Azure Event Hubs kan schemaregistret användas universellt med alla Azure-meddelandetjänster och alla andra meddelande- eller händelsekoordinatorer. Var och en av dessa schemagrupper är en separat säker lagringsplats för en uppsättning scheman. Grupper kan justeras med ett visst program eller en organisationsenhet.

Diagram som visar komponenterna i Schema Registry i Azure Event Hubs.

Schemagrupper

Schemagrupp är en logisk grupp med liknande scheman baserat på dina affärsvillkor. En schemagrupp kan innehålla flera versioner av ett schema. Kompatibilitetsinställningen för en schemagrupp kan hjälpa till att säkerställa att nyare schemaversioner är bakåtkompatibla.

Säkerhetsgränsen som införts av grupperingsmekanismen säkerställer att affärshemligheter inte oavsiktligt läcker via metadata i situationer där namnområdet delas mellan flera partner. Det gör det också möjligt för programägare att hantera scheman oberoende av andra program som delar samma namnområde.

Scheman

Scheman definierar kontraktet mellan producenter och konsumenter. Ett schema som definieras i ett Event Hubs-schemaregister hjälper till att hantera kontraktet utanför händelsedata, vilket tar bort nyttolasten. Ett schema har ett namn, skriver (exempel: post, matris och så vidare.), kompatibilitetsläge (ingen, framåt, bakåt, fullständig) och serialiseringstyp (endast Avro för tillfället). Du kan skapa flera versioner av ett schema och hämta och använda en specifik version av ett schema.

Schemaformat

Schemaformat används för att fastställa hur ett schema är strukturerat och definierat, med varje format som beskriver specifika riktlinjer och syntax för att definiera strukturen för de händelser som ska användas för händelseströmning.

Avro-schema

Avro är ett populärt data serialiseringssystem som använder ett kompakt binärt format och tillhandahåller funktioner för schemautveckling.

Mer information om hur du använder Avro-schemaformat med Event Hubs Schema Registry finns i:

JSON-schema

JSON-schema är ett standardiserat sätt att definiera händelsernas struktur och datatyper. JSON-schema möjliggör säker och tillförlitlig användning av JSON-dataformatet vid händelseströmning.

Mer information om hur du använder JSON-schemaformat med Event Hubs Schema Registry finns i:

Schemautveckling

Scheman måste utvecklas med affärskrav för producenter och konsumenter. Azure Schema Registry stöder schemautveckling genom att införa kompatibilitetslägen på schemagruppsnivå. När du skapar en schemagrupp kan du ange kompatibilitetsläget för de scheman som du inkluderar i den schemagruppen. När du uppdaterar ett schema ska ändringen följa det tilldelade kompatibilitetsläget och sedan bara skapa en ny version av schemat.

Kommentar

Schemautveckling stöds endast för Avro-schemaformat.

Azure Schema Registry for Event Hubs stöder följande kompatibilitetslägen.

Bakåtkompatibilitet

Bakåtkompatibilitetsläget gör att konsumentkoden kan använda en ny version av schemat, men det kan bearbeta meddelanden med den gamla versionen av schemat. När du använder bakåtkompatibilitetsläge i en schemagrupp kan följande ändringar göras i ett schema.

  • Ta bort fält.
  • Lägg till valfria fält.

Vidarebefordra kompatibilitet

Med vidarebefordran av kompatibilitet kan konsumentkoden använda en gammal version av schemat, men den kan läsa meddelanden med det nya schemat. Med läget Vidarebefordra kompatibilitet kan följande ändringar göras i ett schema.

  • Lägg till fält
  • Ta bort valfria fält

Ingen kompatibilitet

När kompatibilitetsläget None används gör schemaregistret inga kompatibilitetskontroller när du uppdaterar scheman.

Klient-SDK: er

Du kan använda något av följande bibliotek för att inkludera en Avro-serialiserare som du kan använda för att serialisera och deserialisera nyttolaster som innehåller Schema Registry-schemaidentifierare och Avro-kodade data.

Gränser

Begränsningar (till exempel antal schemagrupper i ett namnområde) för Event Hubs finns i kvoter och gränser för Event Hubs.

Azure rollbaserad åtkomstkontroll

Följ dessa steg för att komma åt ett schemaregister programmatiskt:

  1. Registrera ditt program i Microsoft Entra-ID
  2. Lägg till programmets säkerhetsobjekt i någon av följande Rollbaserade åtkomstkontrollroller i Azure (Azure RBAC) på namnområdesnivå .
Roll Beskrivning
Ägare Läsa, skriva och ta bort schemaregistergrupper och scheman.
Deltagare Läsa, skriva och ta bort schemaregistergrupper och scheman.
Schema Registry Reader Läsa och lista schemaregistergrupper och scheman.
Schemaregisterdeltagare Läsa, skriva och ta bort schemaregistergrupper och scheman.

Anvisningar om hur du skapar registrering av ett program med hjälp av Azure Portal finns i Registrera en app med Microsoft Entra-ID. Anteckna klient-ID :t (program-ID), klient-ID och hemligheten som ska användas i koden.

Nästa steg