happytails.ai
Español

Comprobador de compatibilidad de esquemas Avro

Comprueba si un esquema Avro nuevo puede seguir leyendo datos escritos con el antiguo, o al revés. Cada campo, tipo y símbolo de enumeración que impida la compatibilidad se indica con su ruta.

Admite esquemas Avro en JSON de hasta 1.000.000 de caracteres cada uno, con un máximo de 50.000 valores JSON y 64 niveles de anidación, y hasta 50 versiones anteriores para los modos transitivos. La comprobación se ejecuta en tu navegador mediante un trabajador en segundo plano. Descargas: un informe JSON y una lista CSV de problemas. El esquema escritor en JSON, o {"versions":[...]} con los esquemas anteriores del más antiguo al más reciente para los modos transitivos. Hasta 1 000 000 caracteres. Revisa los ajustes antes de ejecutar.

Tu resultado

Informa de un problema o comparte una idea.

Comprobador de compatibilidad de esquemas Avro
  1. Pega el esquema Avro anterior en el campo principal, o {"versions":[...]} para un modo transitivo.
  2. Pega el nuevo esquema en el campo «Nuevo esquema».
  3. Elige compatibilidad retrospectiva, futura o completa.
  4. Ejecuta la comprobación y descarga el informe JSON o la lista CSV de problemas.

Qué puedes esperar

Admite esquemas Avro en JSON de hasta 1.000.000 de caracteres cada uno, con un máximo de 50.000 valores JSON y 64 niveles de anidación, y hasta 50 versiones anteriores para los modos transitivos. La comprobación se ejecuta en tu navegador mediante un trabajador en segundo plano. Descargas: un informe JSON y una lista CSV de problemas.

Modos

La compatibilidad retrospectiva permite al esquema nuevo leer datos escritos con el antiguo, como necesita una actualización del consumidor. La compatibilidad futura permite al esquema antiguo leer datos escritos con el nuevo. La compatibilidad completa comprueba ambas direcciones. Los modos transitivos comparan el nuevo esquema con cada versión anterior indicada, de la más antigua a la más reciente, en lugar de solo con la última.

Reglas de resolución

Las comprobaciones siguen la sección Schema Resolution de la especificación Avro 1.11: int se puede convertir en long, float y double; long en float y double; float en double; y string y bytes entre sí. Los registros se relacionan por nombre completo, nombre sin calificar o alias del esquema lector. Un campo del esquema lector que falte en el escritor necesita un valor predeterminado válido. Una enumeración del lector necesita todos los símbolos del escritor, salvo que tenga un valor predeterminado. Cada rama de una unión del escritor debe poder resolverse en el lector.

Límites de la comprobación

Se comprueba la resolución de esquemas Avro, no las reglas adicionales de un registro de esquemas concreto. Los tipos lógicos decimal válidos deben tener la misma precisión y escala, tanto con codificación bytes como fixed. Los tipos lógicos desconocidos o no válidos utilizan el tipo Avro subyacente. Los valores predeterminados de las uniones se comprueban con la primera rama; los predeterminados anidados se validan recursivamente.

Siguientes pasos