Compartilhar 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.

Observação

O Schema Registry não é suportado na camada Básica.

Componentes do Registro de Esquema

Um namespace dos Hubs de Eventos pode hospedar grupos de esquema junto com os hubs de eventos (ou tópicos Kafka). É possível hospedar um registro de esquema e ter vários grupos de esquemas. Embora esteja hospedado nos Hubs de Eventos do Azure, o registro de esquema pode ser usado universalmente com todos os serviços de mensagem do Azure e outros agentes de eventos ou mensagens. Cada um desses grupos de esquema é um repositório separado e seguro para um conjunto de esquemas. É possível alinhar os grupos com um aplicativo específico ou uma unidade organizacional.

Diagrama que mostra os componentes do Registro de Esquema nos Hubs de Eventos do Azure.

Grupos de esquemas

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

O limite de segurança imposto pelo mecanismo de agrupamento ajuda a garantir que segredos comerciais não vazem acidentalmente por meio dos metadados em situações em que o namespace é compartilhado entre vários parceiros. Também permite que os proprietários de aplicativo gerenciem os esquemas independentemente de outros aplicativos que compartilham o mesmo namespace.

Esquemas

Os esquemas definem o contrato entre os produtores e os consumidores. Um esquema definido em um registro de esquema dos Hubs de Eventos ajuda a gerenciar o contrato fora dos dados de evento. Portanto, elimina a sobrecarga de conteúdo. Um esquema tem nome, tipo (exemplo: registro, matriz etc.), modo de compatibilidade (nenhum, encaminhado, retroativo, total) e tipo de serialização (Avro e JSON). É possível criar várias versões de um esquema, bem como recuperar e usar uma versão específica de um.

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 sintaxes específicas para definir a estrutura dos eventos que serão usados para streaming de eventos.

Esquema Avro

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

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

Esquema JSON

O Esquema JSON é uma maneira padronizada de definir a estrutura e os tipos de dados dos eventos. O Esquema JSON permite o uso seguro 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 dos Hubs de Eventos, confira:

Evolução do esquema

Os esquemas precisam evoluir com o requisito de negócios 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 esquema. Ao criar um grupo de esquemas, você pode especificar o modo de compatibilidade dos esquemas que você inclui nele. Quando você atualiza um esquema, a alteração deve estar em conformidade com o modo de compatibilidade atribuído e, em seguida, ele cria uma nova versão do esquema.

Observação

A evolução do esquema só é compatível com o formato de esquema Avro.

O Registro de Esquema do Azure para Hubs de Eventos dá suporte aos modos de compatibilidade a seguir.

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 ele pode processar mensagens com uma versão antiga. Quando você usa o modo de compatibilidade com versões anteriores em um grupo de esquema, ele permite que as alterações a seguir sejam feitas em um esquema.

  • Excluir campos.
  • Adicionar campos opcionais.

Compatibilidade com encaminhamento

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

  • Adicionar campos
  • Excluir campos opcionais

Sem compatibilidade

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

SDKs do cliente

É possível usar uma das bibliotecas a seguir para incluir um serializador Avro para serializar e desserializar conteúdos com identificadores de esquema do Registro de Esquema e dados codificados no Avro.

Limites

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

Controle de acesso baseado em função do Azure

Para acessar um registro de esquema de forma programática, siga estas etapas:

  1. Como registrar seu aplicativo 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 (RBAC do Azure) no nível namespace.
Função Descrição
Proprietário Ler, gravar e excluir grupos e esquemas do Registro de Esquema.
Colaborador Ler, gravar e excluir grupos e esquemas do Registro de Esquema.
Leitor do Registro de Esquema Ler e listar os grupos e os esquemas do Registro de Esquema.
Colaborador do Registro de Esquema Ler, gravar e excluir grupos e esquemas do Registro de Esquema.

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

Próximas etapas