Avro Şeması Uyumluluk Denetleyicisi
Yeni bir Avro şemasının eski şemayla yazılmış verileri veya tersini hâlâ okuyup okuyamadığını denetleyin. Uyumluluğu engelleyen her alan, tür ve enum simgesi yolu ile listelenir.
Her biri en fazla 1.000.000 karakter olan JSON biçimli Avro şemalarını, en fazla 50.000 JSON değeri ve 64 iç içe geçme düzeyiyle kabul eder; geçişli modlar için en fazla 50 eski sürüm alır. Denetim tarayıcınızda arka plan işçisinde çalışır. JSON raporu ve sorunların CSV listesi indirilebilir. Yazıcı şeması JSON olarak veya geçişli modlar için en eskiden başlayarak eski şemaları içeren {"versions":[...]} olarak. En fazla 1.000.000 karakter. Çalıştırmadan önce ayarları gözden geçirin.
Sonucunuz
Avro Şeması Uyumluluk Denetleyicisi
- Eski Avro şemasını ana kutuya veya geçişli mod için {"versions":[...]} yapısını yapıştırın.
- Yeni şemayı Yeni şema alanına yapıştırın.
- Geriye dönük, ileriye dönük ya da tam uyumluluğu seçin.
- Denetimi çalıştırın ve JSON raporunu ya da sorunların CSV listesini indirin.
Bilmeniz gerekenler
Her biri en fazla 1.000.000 karakter olan JSON biçimli Avro şemalarını, en fazla 50.000 JSON değeri ve 64 iç içe geçme düzeyiyle kabul eder; geçişli modlar için en fazla 50 eski sürüm alır. Denetim tarayıcınızda arka plan işçisinde çalışır. JSON raporu ve sorunların CSV listesi indirilebilir.
Modlar
Geriye dönük uyumluluk, yeni şemanın eski şemayla yazılmış verileri okuyabilmesi demektir; tüketici yükseltmesi için gereken budur. İleriye dönük uyumluluk, eski şemanın yeni şemayla yazılmış verileri okuyabilmesi demektir. Tam uyumluluk ikisini de denetler. Geçişli modlar, yeni şemayı yalnızca en son sürüme göre değil, listelediğiniz tüm eski sürümlere en eskisinden başlayarak denetler.
Çözümleme kuralları
Denetimler Avro 1.11 belirtiminin Schema Resolution bölümünü izler: int, long, float ve double türlerine; long, float ve double türlerine; float ise double türüne yükseltilir; string ile bytes birbirine dönüştürülebilir. Kayıtlar tam ad, nitelendirilmemiş ad veya okuyucu takma adına göre eşleşir. Yazıcıda bulunmayan okuyucu alanı geçerli bir varsayılan gerektirir. Okuyucu enum'u, varsayılanı yoksa yazıcının tüm simgelerini gerektirir. Yazıcı birleşiminin her dalı okuyucuda çözümlenebilmelidir.
Denetimin sınırları
Bu denetim, belirli bir şema kayıt sisteminin ek kuralları yerine Avro şema çözümlemesini kontrol eder. Geçerli decimal mantıksal türler, hem bytes hem fixed kodlamalarında aynı hassasiyet ve ölçeğe sahip olmalıdır. Bilinmeyen veya geçersiz mantıksal türler temel Avro türünü kullanır. Union varsayılanları ilk dala göre denetlenir; iç içe varsayılanlar yinelemeli olarak doğrulanır.