happytails.ai
Slovenčina

Kontrola kompatibility schém Avro

Skontrolujte, či nová schéma Avro stále dokáže čítať údaje zapísané starou, alebo naopak. Každé pole, typ a symbol výčtu blokujúci kompatibilitu je uvedený aj so svojou cestou.

Prijíma schémy Avro ako JSON, každú s najviac 1 000 000 znakmi, najviac 50 000 hodnotami JSON a 64 úrovňami vnorenia, a až 50 starších verzií pre tranzitívne režimy. Kontrola prebieha vo vašom prehliadači v pracovnom vlákne na pozadí. Stiahnuť možno správu JSON a zoznam problémov CSV. Schéma zapisovača ako JSON alebo {"versions":[...]} so staršími schémami od najstaršej pre tranzitívne režimy. Až 1 000 000 znakov. Pred spustením skontrolujte nastavenia.

Váš výsledok

Nahláste problém alebo sa podeľte o nápad.

Kontrola kompatibility schém Avro
  1. Vložte staršiu schému Avro do hlavného poľa alebo {"versions":[...]} pre tranzitívny režim.
  2. Vložte novú schému do poľa Nová schéma.
  3. Vyberte spätnú, doprednú alebo úplnú kompatibilitu.
  4. Spustite kontrolu a stiahnite správu JSON alebo zoznam problémov CSV.

Čo môžete očakávať

Prijíma schémy Avro ako JSON, každú s najviac 1 000 000 znakmi, najviac 50 000 hodnotami JSON a 64 úrovňami vnorenia, a až 50 starších verzií pre tranzitívne režimy. Kontrola prebieha vo vašom prehliadači v pracovnom vlákne na pozadí. Stiahnuť možno správu JSON a zoznam problémov CSV.

Režimy

Spätná kompatibilita znamená, že nová schéma dokáže čítať údaje zapísané starou, čo je potrebné pri aktualizácii konzumenta. Dopredná znamená, že stará schéma dokáže čítať údaje zapísané novou. Úplná kontroluje oba smery. Tranzitívne režimy kontrolujú novú schému voči každej uvedenej staršej verzii, od najstaršej, namiesto iba poslednej.

Pravidlá rozlíšenia schém

Kontroly sa riadia časťou Schema Resolution špecifikácie Avro 1.11: int sa rozširuje na long, float a double, long na float a double, float na double a string a bytes navzájom. Záznamy sa párujú podľa úplného názvu, nekvalifikovaného názvu alebo aliasu čítača. Pole čítača, ktoré zapisovač nemá, potrebuje platnú predvolenú hodnotu. Výčet čítača potrebuje každý symbol zapisovača, ak nemá predvolenú hodnotu. Každá vetva únie zapisovača musí byť rozlíšiteľná v čítači.

Limity kontroly

Kontroluje sa rozlíšenie schém Avro, nie dodatočné pravidlá konkrétneho registra schém. Platné desatinné logické typy musia mať rovnakú presnosť a mierku pre kódovanie bytes aj fixed. Neznáme alebo neplatné logické typy používajú podkladový typ Avro. Predvolené hodnoty únií sa kontrolujú voči prvej vetve; vnorené predvolené hodnoty sa validujú rekurzívne.

Užitočné ďalšie kroky