Share via


Registro de esquema nos Hubs de Eventos do Azure

O Registro de Esquema nos Hubs de Eventos do Azure fornece um repositório para usar e gerenciar esquemas em cenários de streaming de eventos controlados por esquema.

Componentes do Registro de Esquema

Um namespace de Hubs de Eventos pode hospedar grupos de esquema ao lado de hubs de eventos (ou tópicos Kafka). Ele hospeda um registro de esquema e pode ter vários grupos de esquema. Apesar de estar hospedado nos Hubs de Eventos do Azure, o registro de esquema pode ser usado universalmente com todos os serviços de mensagens do Azure e qualquer outro agente de mensagens ou eventos. Cada um desses grupos de esquemas é um repositório separadamente protegível para um conjunto de esquemas. Os grupos podem ser alinhados com um aplicativo específico ou uma unidade organizacional.

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

Grupos de esquemas

O grupo de esquemas é um grupo lógico de esquemas semelhantes com base em seus critérios de negócios. Um grupo de esquemas pode conter várias versões de um esquema. A configuração de imposição de compatibilidade em um grupo de esquemas pode ajudar a garantir que as versões mais recentes do esquema sejam compatíveis com versões anteriores.

O limite de segurança imposto pelo mecanismo de agrupamento ajuda a garantir que os segredos comerciais não vazem inadvertidamente através de metadados em situações em que o namespace é compartilhado entre vários parceiros. Ele também permite que os proprietários de aplicativos gerenciem esquemas independentes de outros aplicativos que compartilham o mesmo namespace.

Esquemas

Os esquemas definem o contrato entre produtores e consumidores. Um esquema definido em um registro de esquema de Hubs de Eventos ajuda a gerenciar o contrato fora dos dados de eventos, removendo assim a sobrecarga de carga útil. Um esquema tem um nome, tipo (exemplo: registro, matriz e assim por diante.), modo de compatibilidade (nenhum, avançar, retroceder, completo) e tipo de serialização (apenas Avro por enquanto). Você pode criar várias versões de um esquema e recuperar e usar uma versão específica de um esquema.

Formatos de esquema

Os formatos de esquema são usados para determinar a maneira como um esquema é estruturado e definido, com cada formato delineando diretrizes e sintaxe específicas para definir a estrutura dos eventos que serão usados para streaming de eventos.

Esquema Avro

Avro é um sistema de serialização de dados popular que usa um formato binário compacto e fornece recursos de evolução de esquema.

Para saber mais sobre como usar o formato de esquema Avro com o Registro de Esquema de Hubs de Eventos, consulte:

Esquema JSON (visualização)

JSON Schema é uma maneira padronizada de definir a estrutura e os tipos de dados dos eventos. O esquema JSON permite o uso confiável e confiável do formato de dados JSON no streaming de eventos.

Para saber mais sobre como usar o formato de esquema JSON com o Registro de Esquema de Hubs de Eventos, consulte:

Evolução do esquema

Os esquemas precisam evoluir com a exigência comercial de produtores e consumidores. O Registro de Esquema do Azure dá suporte à evolução do esquema introduzindo modos de compatibilidade no nível do grupo de esquemas. Ao criar um grupo de esquemas, você pode especificar o modo de compatibilidade dos esquemas incluídos nesse grupo de esquemas. Quando você atualiza um esquema, a alteração deve estar em conformidade com o modo de compatibilidade atribuído e, em seguida, somente ele cria uma nova versão do esquema.

Nota

A evolução do esquema só é suportada apenas para o formato de esquema Avro.

O Registro de Esquema do Azure para Hubs de Eventos oferece suporte aos seguintes modos de compatibilidade.

Compatibilidade com versões anteriores

O modo de compatibilidade com versões anteriores permite que o código do consumidor use uma nova versão do esquema, mas pode processar mensagens com a versão antiga do esquema. Quando você usa o modo de compatibilidade com versões anteriores em um grupo de esquema, ele permite que as seguintes alterações sejam feitas em um esquema.

  • Eliminar campos.
  • Adicione campos opcionais.

Compatibilidade direta

A compatibilidade direta permite que o código do consumidor use uma versão antiga do esquema, mas pode ler mensagens com o novo esquema. O modo de compatibilidade direta permite que as seguintes alterações sejam feitas em um esquema.

  • Adicionar campos
  • Excluir campos opcionais

Sem compatibilidade

Quando o modo de compatibilidade é usado, o None registro de esquema não faz nenhuma verificação de compatibilidade quando você atualiza esquemas.

SDKs do Cliente

Você pode usar uma das seguintes bibliotecas para incluir um serializador Avro, que pode ser usado para serializar e desserializar cargas úteis contendo identificadores de esquema do Registro de Esquema e dados codificados em Avro.

Limites

Para limites (por exemplo: número de grupos de esquemas em um namespace) de Hubs de Eventos, consulte Cotas e limites de Hubs de Eventos.

Controlo de acesso baseado em funções do Azure

Para aceder a um registo de esquema programaticamente, siga estes passos:

  1. Registe a sua candidatura no Microsoft Entra ID
  2. Adicione a entidade de segurança do aplicativo a uma das seguintes funções de controle de acesso baseado em função do Azure (Azure RBAC) no nível de namespace .
Função Description
Proprietário Leia, escreva e exclua grupos e esquemas do Registro de Esquema.
Contribuidor Leia, escreva e exclua grupos e esquemas do Registro de Esquema.
Leitor de registro de esquema Leia e liste grupos e esquemas do Registro de Esquema.
Contribuidor do Registro de Esquema Leia, escreva e exclua grupos e esquemas do Registro de Esquema.

Para obter instruções sobre como criar o registro de um aplicativo usando o portal do Azure, consulte Registrar um aplicativo com o Microsoft Entra ID. Anote o ID do cliente (ID do aplicativo), o ID do locatário e o segredo a ser usado no código.

Próximos passos