Share via


Registro de esquema en Azure Event Hubs

El registro de esquema de Azure Event Hubs proporciona un repositorio para usar y administrar esquemas en escenarios de streaming de eventos controlados por esquemas.

Componentes del registro de esquema

Un espacio de nombres de Event Hubs puede hospedar grupos de esquemas junto con centros de eventos (o temas de Kafka). Hospeda un registro de esquema y puede tener varios grupos de esquemas. A pesar de estar hospedado en Azure Event Hubs, el registro de esquema se puede usar universalmente con todos los servicios de mensajería de Azure y cualquier otro agente de mensajes o eventos. Cada uno de estos grupos de esquemas es un repositorio protegible de forma independiente para un conjunto de esquemas. Los grupos se pueden alinear con una aplicación determinada o una unidad organizativa.

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

Grupos de esquemas

El grupo de esquemas es un grupo lógico de esquemas similares basados en los criterios empresariales. Un grupo de esquemas puede contener varias versiones de un esquema. La configuración del cumplimiento de compatibilidad de un grupo de esquemas puede ayudar a garantizar que las versiones del esquema más recientes sean compatibles con versiones anteriores.

El límite de seguridad impuesto por el mecanismo de agrupación ayuda a garantizar que los secretos comerciales no se filtran accidentalmente a través de los metadatos en situaciones en las que el espacio de nombres se comparte entre varios asociados. También permite a los propietarios de aplicaciones administrar esquemas independientes de otras aplicaciones que comparten el mismo espacio de nombres.

Esquemas

Los esquemas definen el contrato entre productores y consumidores. Un esquema definido en un registro de esquema de Event Hubs ayuda a administrar el contrato fuera de los datos de eventos, lo que elimina la sobrecarga. Un esquema tiene un nombre, un tipo (por ejemplo, registro, matriz, etc.), el modo de compatibilidad (ninguna, con versiones anteriores o posteriores, completa) y el tipo de serialización (solo Avro por ahora). Puede crear varias versiones de un esquema y recuperar y usar una versión específica de un esquema.

Formatos de esquema

Los formatos de esquema se usan para determinar la manera en que un esquema está estructurado y definido, donde cada formato describe directrices y sintaxis específicas para definir la estructura de los eventos que se usarán para el streaming de eventos.

Esquema de Avro

Avro es un sistema popular de serialización de datos que usa un formato binario compacto y proporciona funcionalidades de evolución de esquemas.

Para obtener más información sobre el uso del formato de esquema de Avro con el registro de esquema de Event Hubs, consulte:

Esquema JSON (versión preliminar)

El esquema JSON es una manera estandarizada de definir la estructura y los tipos de datos de los eventos. El esquema JSON permite el uso seguro y confiable del formato de datos JSON en el streaming de eventos.

Para obtener más información sobre el uso del formato de esquema JSON con el registro de esquema de Event Hubs, consulte:

Evolución del esquema

Los esquemas deben evolucionar con el requisito empresarial de productores y consumidores. El registro de esquema de Azure admite la evolución del esquema mediante la introducción de modos de compatibilidad a nivel de grupo de esquemas. Al crear un grupo de esquemas, puede especificar el modo de compatibilidad de los esquemas que incluya en ese grupo. Al actualizar un esquema, el cambio debe cumplir con el modo de compatibilidad asignado y, así, solo se crea una nueva versión del esquema.

Nota:

La evolución del esquema solo se admite para el formato de esquema Avro.

El registro de esquema de Azure para Event Hubs admite los siguientes modos de compatibilidad.

compatibilidad con versiones anteriores

El modo de compatibilidad con versiones anteriores permite que el código de consumidor use una nueva versión del esquema, pero se pueden procesar mensajes con una versión anterior del esquema. Cuando se usa el modo de compatibilidad con versiones anteriores en un grupo de esquemas, se permiten los siguientes cambios en un esquema.

  • Eliminar campos.
  • Agregar campos opcionales.

Compatibilidad con versiones posteriores

La compatibilidad con versiones posteriores permite que el código de consumidor use una versión anterior del esquema, pero puede leer mensajes con el nuevo esquema. El modo de compatibilidad con versiones posteriores permite realizar los siguientes cambios en un esquema.

  • Adición de campos
  • Eliminar campos opcionales

Sin compatibilidad

Cuando se usa el modo de compatibilidad None, el registro de esquema no comprueba la compatibilidad al actualizar los esquemas.

SDK de cliente

Puede usar una de las siguientes bibliotecas para incluir un serializador de Avro, que puede usar para serializar y deserializar las cargas que contienen identificadores de esquema del registro de esquema y datos codificados por Avro.

Límites

Para conocer los límites (por ejemplo, el número de grupos de esquemas de un espacio de nombres) de Event Hubs, consulte Cuotas y límites de Event Hubs.

Control de acceso basado en rol

Para acceder a un registro de esquema mediante programación, siga estos pasos:

  1. Registro de la aplicación en Microsoft Entra ID
  2. Agregue la entidad de seguridad de la aplicación a uno de los siguientes roles de control de acceso basado en rol de Azure (RBAC de Azure) en el nivel de espacio de nombres.
Role Descripción
Propietario Leer, escribir y eliminar esquemas y grupos de registros de esquema.
Colaborador Leer, escribir y eliminar esquemas y grupos de registros de esquema.
Lector del registro de esquema Leer y enumerar grupos y esquemas del registro de esquemas.
Colaborador del registro de esquema Leer, escribir y eliminar esquemas y grupos de registros de esquema.

Para obtener instrucciones sobre cómo crear el registro de una aplicación mediante Azure Portal, consulte Registro de una aplicación con Microsoft Entra ID. Anote el id. de cliente (id. de aplicación), el id de inquilino y el secreto que se usarán en el código.

Pasos siguientes