Pular para o conteúdo principal

Formatador e Validador de Esquema Apache Avro

Valide um esquema Apache Avro (JSON) em relação à especificação Avro — type/fields/name ausentes, tipos desconhecidos, nomes inválidos, tipos nomeados duplicados e unions malformadas recebem uma mensagem clara com o caminho exato do campo — e depois formate-o com recuo de 2 ou 4 espaços. Tudo roda no seu navegador.

Entrada

Saída

Esquema Formatado
 
Isso foi útil?

Guias

Cole um esquema Apache Avro — o documento JSON que descreve os campos de um record, usado em tópicos Kafka, schema registries e pipelines de serialização de dados — e esta ferramenta o verifica em relação à especificação Avro, depois o formata com indentação consistente. Tudo roda no seu navegador: nada é enviado para nenhum lugar.

Diferente de um validador de JSON comum, ela entende as regras de forma específicas do Avro. Um esquema pode ser JSON sintaticamente perfeito e ainda assim ser um esquema Avro inválido — um record sem seu array fields, um campo sem type, um símbolo de enum que não segue as regras de nomenclatura do Avro, ou uma union escrita como ["null", "null"] com o mesmo ramo duas vezes. Esta ferramenta detecta esses casos e diz exatamente qual campo está errado e por quê, em vez de uma mensagem genérica de "esquema inválido".

O que ela verifica

  • A entrada é JSON bem formado, e cada nó de tipo tem uma forma reconhecida: os oito tipos primitivos (null, boolean, int, long, float, double, bytes, string) e os seis tipos complexos (record, enum, array, map, union, fixed).
  • Tipos record declaram um name e um array fields, e todo campo tem tanto name quanto type; enum declara um array symbols não vazio e sem duplicatas; array declara items; map declara values; fixed declara um size inteiro positivo.
  • Tipos nomeados (record/enum/fixed) não colidem, e uma referência a um tipo nomeado definido em outro lugar do mesmo documento — para frente ou para trás — é resolvida e sinalizada se nada corresponder.
  • Unions são arrays JSON, e cada tipo pode aparecer em uma union no máximo uma vez — o Avro não permite dois ramos string, ou dois ramos record, lado a lado.

Como usar

  1. Cole o JSON do seu esquema Avro na caixa de entrada, ou clique em Teste um exemplo para carregar um record de amostra.
  2. Escolha indentação de 2 ou 4 espaços.
  3. Leia a linha de resultado: Esquema Avro válido com um resumo rápido de records, campos, enums, unions e tipos fixed, ou Esquema Avro inválido com o problema exato e seu caminho (por exemplo, fields[2].type).
  4. Copie ou baixe o esquema formatado — esquemas válidos são salvos como schema.avsc, correspondendo à extensão que as ferramentas Avro esperam.

A validação e a formatação são executadas automaticamente enquanto você edita, então você pode corrigir um campo por vez e ver o resultado ser atualizado em tempo real.

Esta ferramenta resolve esquemas de um schema registry remoto?

Não. O Avro não tem buscas remotas no estilo $ref — ele permite que um esquema referencie outro tipo nomeado definido dentro do mesmo documento (pelo nome, com um namespace opcional), o que esta ferramenta resolve. Um esquema que só existe em um arquivo separado ou em um registry não pode ser verificado sem ser buscado, e esta ferramenta do lado do cliente deliberadamente nunca faz isso.

O que significa "union" em um esquema Avro?

Uma union permite que um campo guarde um de vários tipos, escrito como um array JSON em vez de um único tipo — mais comumente ["null", "string"] para tornar um campo opcional. Esta ferramenta aplica a regra que mais causa problemas: uma union pode conter no máximo um ramo de cada tipo, então ["string", "string"] ou duas definições inline de record com o mesmo nome são rejeitadas.

Meu esquema é privado?

Sim. O parse, a validação e a formatação acontecem todos em JavaScript puro no seu dispositivo — na aba do navegador, ou no runtime da API/Node se você chamar programaticamente. Nada é transmitido, registrado ou armazenado.

avroschemavalidatorformatterjsonkafkadata-serializationdeveloper

Use it from code

From 3 credits per call

REST API

curl -X POST https://api.iotools.cloud/v1/tool/apache-avro-schema-formatter-validator \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "schemaInput": "{\"type\":\"record\",\"name\":\"User\",\"fields\":[{\"name\"…",
    "indent": "2"
  }'

Swap in your own key from your account. The tool's fields are the body — no wrapper.

Ask an AI agent

Use the IOTools `apache-avro-schema-formatter-validator` tool (Apache Avro Schema Formatter & Validator) on this input:

YOUR_INPUT_HERE

Paste this at any agent connected to the IOTools MCP server, then add your input.

Ama as ferramentas? Livre-se dos anúncios.

Um único pagamento remove todos os anúncios da sua conta, para sempre. Sem assinatura, sem rastreamento.