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
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
recordmendeklarasikannamedan arrayfields, dan setiap field memilikinamedantype;enummendeklarasikan arraysymbolsyang tidak kosong dan bebas duplikat;arraymendeklarasikanitems;mapmendeklarasikanvalues;fixedmendeklarasikansizeberupa 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
stringatau dua cabangrecordbersebelahan.
Cara menggunakannya
- Tempel JSON skema Avro Anda ke kotak input, atau klik Coba contoh untuk memuat contoh record.
- Pilih indentasi 2 atau 4 spasi.
- 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). - 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.
Use it from code
From 3 credits per callREST 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_HEREPaste this at any agent connected to the IOTools MCP server, then add your input.