Registro schemi in Hub eventi di Azure

Registro schemi in Hub eventi di Azure offre un repository per usare e gestire gli schemi in scenari di flussi di eventi basati su schema.

Componenti del Registro schemi

Uno spazio dei nomi di Hub eventi può ospitare gruppi di schemi insieme a hub eventi (o argomenti Kafka). Ospita un registro schemi e può avere più gruppi di schemi. Nonostante sia ospitato in Hub eventi di Azure, il registro schemi può essere usato universalmente con tutti i servizi di messaggistica di Azure e con qualsiasi altro broker di messaggi o eventi. Ognuno di questi gruppi di schemi è un repository a protezione diretta separato per un set di schemi. I gruppi possono essere allineati con una particolare applicazione o un'unità organizzativa.

Diagram that shows the components of Schema Registry in Azure Event Hubs.

Gruppi di schemi

Il gruppo di schemi è un gruppo logico di schemi simili in base ai criteri aziendali. Un gruppo di schemi può contenere più versioni di uno schema. L'impostazione di imposizione di compatibilità in un gruppo di schemi può contribuire a garantire che le versioni più recenti dello schema siano compatibili con le versioni precedenti.

Il limite di sicurezza imposto dal meccanismo di raggruppamento contribuisce a garantire che i segreti commerciali non trapelino inavvertitamente attraverso i metadati nelle situazioni in cui lo spazio dei nomi è condiviso tra più partner. Consente inoltre ai proprietari di applicazioni di gestire gli schemi indipendentemente dalle altre applicazioni che condividono lo stesso spazio dei nomi.

Schemi

Gli schemi definiscono il contratto tra producer e consumer. Uno schema definito in un registro schemi di Hub eventi consente di gestire il contratto al di fuori dei dati dell'evento, rimuovendo così il sovraccarico del payload. Uno schema ha un nome, un tipo (esempio: record, matrice e così via), una modalità di compatibilità (nessuna, con versioni successive, con versioni precedenti, completa) e un tipo di serializzazione (per ora solo Avro). È possibile creare più versioni di uno schema e recuperare e usare una versione specifica di uno schema.

Formati dello schema

I formati di schema vengono usati per determinare il modo in cui uno schema è strutturato e definito, con ogni formato che delinea linee guida e sintassi specifiche per definire la struttura degli eventi che verranno usati per i flussi di eventi.

Schema Avro

Avro è un sistema di serializzazione dei dati diffuso che usa un formato binario compatto e offre funzionalità di evoluzione dello schema.

Per altre informazioni sull'uso del formato dello schema Avro con il Registro schemi di Hub eventi, vedere:

Schema JSON (anteprima)

Lo schema JSON è un modo standardizzato per definire la struttura e i tipi di dati degli eventi. Lo schema JSON consente l'uso sicuro e affidabile del formato di dati JSON nel flusso di eventi.

Per altre informazioni sull'uso del formato dello schema JSON con il Registro schemi di Hub eventi, vedere:

Evoluzione dello schema

Gli schemi devono evolversi con il requisito aziendale dei producer e dei consumer. Registro schemi di Azure supporta l'evoluzione dello schema introducendo le modalità di compatibilità a livello di gruppo di schemi. Quando si crea un gruppo di schemi, è possibile specificare la modalità di compatibilità degli schemi inclusi in tale gruppo di schemi. Quando si aggiorna uno schema, la modifica deve essere conforme alla modalità di compatibilità assegnata e quindi crea solo una nuova versione dello schema.

Nota

L'evoluzione dello schema è supportata solo per il formato dello schema Avro.

Registro schemi di Azure per Hub eventi supporta le modalità di compatibilità seguenti.

Compatibilità con le versioni precedenti

La modalità di compatibilità con le versioni precedenti consente al codice consumer di usare una nuova versione dello schema, ma può elaborare i messaggi con la versione precedente dello schema. Quando si usa la modalità di compatibilità con le versioni precedenti in un gruppo di schemi, consente di apportare le modifiche seguenti in uno schema.

  • Eliminare campi.
  • Aggiungere campi facoltativi.

Compatibilità con le versioni successive

La compatibilità con trasferimento consente al codice consumer di usare una versione precedente dello schema, ma può leggere i messaggi con il nuovo schema. La modalità di compatibilità di trasferimento consente di apportare le modifiche seguenti in uno schema.

  • Aggiungi campi
  • Eliminare i campi facoltativi

Nessuna compatibilità

Quando si usa la modalità di compatibilità None, il Registro schemi non esegue alcun controllo di compatibilità quando si aggiornano gli schemi.

SDK client

È possibile usare una delle librerie seguenti che includono un serializzatore Avro, che è possibile usare per serializzare e deserializzare i payload che contengono gli identificatori dello schema del Registro schemi e i dati con codifica Avro.

Limiti

Per i limiti (ad esempio: numero di gruppi di schemi in uno spazio dei nomi) di Hub eventi, vedere Quote e limiti di Hub eventi.

Controllo dell'accesso basato sui ruoli di Azure

Per accedere a un registro schemi a livello di programmazione, seguire questa procedura:

  1. Registrare l'applicazione in Microsoft Entra ID
  2. Aggiungere l'entità di sicurezza dell'applicazione a uno dei ruoli di Controllo degli accessi in base al ruolo di Azure (RBAC Azure) seguenti a livello di spazio dei nomi.
Ruolo Descrizione
Proprietario Lettura, scrittura ed eliminazione di gruppi e schemi del Registro schemi.
Collaboratore Lettura, scrittura ed eliminazione di gruppi e schemi del Registro schemi.
Lettore del Registro schemi Lettura ed elenco di gruppi e schemi del Registro schemi.
Collaboratore del Registro schemi Lettura, scrittura ed eliminazione di gruppi e schemi del Registro schemi.

Per istruzioni sulla creazione di una registrazione di un'applicazione con il portale di Azure, vedere Registrare un'app con Microsoft Entra ID. Prendere nota dell'ID client (ID applicazione), dell'ID tenant e del segreto da usare nel codice.

Passaggi successivi