Lewati ke konten utama

Pemformat & Validator Skema Apache Avro

Validasi skema Apache Avro (JSON) terhadap spesifikasi Avro — type/fields/name yang hilang, jenis yang tidak dikenal, nama yang tidak valid, tipe bernama duplikat, dan union yang salah bentuk semua mendapat pesan yang jelas dengan jalur field yang tepat — lalu cetak rapi dengan indentasi 2 atau 4 spasi. Berjalan sepenuhnya di browser Anda.

Input

Output

Skema Terformat
 
Apakah ini membantu?

Panduan

Tempel skema Apache Avro — dokumen JSON yang menjelaskan field sebuah record, digunakan di topik Kafka, schema registry, dan pipeline serialisasi data — dan alat ini memeriksanya terhadap spesifikasi Avro, lalu mencetaknya dengan rapi menggunakan indentasi yang konsisten. Semuanya berjalan di browser Anda: tidak ada yang diunggah ke mana pun.

Tidak seperti validator JSON biasa, alat ini memahami aturan bentuk Avro sendiri. Sebuah skema bisa merupakan JSON yang sempurna secara sintaks tetapi tetap skema Avro yang tidak valid — record yang kehilangan array fields-nya, field tanpa type, simbol enum yang tidak sesuai aturan penamaan Avro, atau union yang ditulis ["null", "null"] dengan cabang yang sama dua kali. Alat ini mendeteksi semua itu dan memberi tahu Anda field mana yang salah dan alasannya, alih-alih pesan "skema tidak valid" yang generik.

Apa yang diperiksa

  • Input berupa JSON yang terbentuk dengan baik, dan setiap simpul tipe memiliki bentuk yang dikenal: delapan tipe primitif (null, boolean, int, long, float, double, bytes, string) dan enam tipe kompleks (record, enum, array, map, union, fixed).
  • Tipe record mendeklarasikan name dan array fields, dan setiap field memiliki name dan type; enum mendeklarasikan array symbols yang tidak kosong dan bebas duplikat; array mendeklarasikan items; map mendeklarasikan values; fixed mendeklarasikan size berupa bilangan bulat positif.
  • Tipe bernama (record/enum/fixed) tidak bertabrakan, dan referensi ke tipe bernama yang didefinisikan di tempat lain dalam dokumen yang sama — maju maupun mundur — diselesaikan dan ditandai jika tidak ada yang cocok.
  • Union adalah array JSON, dan setiap tipe boleh muncul dalam union paling banyak satu kali — Avro tidak mengizinkan dua cabang string atau dua cabang record bersebelahan.

Cara menggunakannya

  1. Tempel JSON skema Avro Anda ke kotak input, atau klik Coba contoh untuk memuat contoh record.
  2. Pilih indentasi 2 atau 4 spasi.
  3. Baca baris hasilnya: Skema Avro valid dengan ringkasan singkat jumlah record, field, enum, union, dan tipe fixed, atau Skema Avro tidak valid dengan masalah yang tepat beserta jalurnya (mis. fields[2].type).
  4. Salin atau unduh skema yang sudah diformat — skema yang valid disimpan sebagai schema.avsc, sesuai ekstensi yang diharapkan oleh perangkat Avro.

Validasi dan pemformatan berjalan otomatis saat Anda mengetik, sehingga Anda bisa memperbaiki satu field pada satu waktu dan melihat hasilnya diperbarui secara langsung.

Apakah alat ini menyelesaikan skema dari schema registry jarak jauh?

Tidak. Avro tidak memiliki pencarian jarak jauh bergaya $ref — Avro mengizinkan satu skema mereferensikan tipe bernama lain yang didefinisikan di dalam dokumen yang sama (berdasarkan nama, dengan namespace opsional), yang diselesaikan oleh alat ini. Skema yang hanya ada di file terpisah atau registry tidak dapat diperiksa tanpa mengambilnya, dan alat di sisi klien ini memang tidak pernah melakukannya.

Apa arti "union" dalam skema Avro?

Union memungkinkan sebuah field menampung salah satu dari beberapa tipe, ditulis sebagai array JSON alih-alih satu tipe — paling umum ["null", "string"] untuk membuat field opsional. Alat ini menegakkan aturan yang paling sering menjebak orang: sebuah union boleh memuat paling banyak satu cabang untuk setiap tipe, sehingga ["string", "string"] atau dua definisi record inline dengan nama yang sama ditolak.

Apakah skema saya bersifat pribadi?

Ya. Penguraian, validasi, dan pemformatan semuanya terjadi dalam JavaScript murni di perangkat Anda — di tab browser, atau di runtime API/Node jika Anda memanggilnya secara terprogram. Tidak ada yang dikirimkan, dicatat, atau disimpan.

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.

Suka alat-alatnya? Hilangkan iklannya.

Satu kali pembayaran menghapus semua iklan dari akun Anda, selamanya. Tanpa langganan, tanpa pelacakan.