happytails.ai
Čeština

Kontrola kompatibility schémat Avro

Ověřte, zda nové schéma Avro stále čte data zapsaná podle starého nebo naopak. Každé pole, typ a symbol výčtu bránící kompatibilitě jsou uvedeny s cestou.

Přijímá schémata Avro ve formátu JSON, každé nejvýše 1 000 000 znaků, s nejvýše 50 000 hodnotami JSON a 64 úrovněmi vnoření a až 50 dřívějších verzí pro tranzitivní režimy. Kontrola běží v prohlížeči v samostatné úloze na pozadí. Ke stažení je zpráva JSON a seznam problémů CSV. Schéma zapisovacího modulu jako JSON nebo {"versions":[...]} s dřívějšími schématy od nejstaršího pro tranzitivní režimy. Nejvýše 1 000 000 znaků. Před spuštěním zkontrolujte nastavení.

Váš výsledek

Nahlaste problém nebo se podělte o nápad.

Kontrola kompatibility schémat Avro
  1. Do hlavního pole vložte dřívější schéma Avro nebo {"versions":[...]} pro tranzitivní režim.
  2. Vložte nové schéma do pole Nové schéma.
  3. Zvolte zpětnou, dopřednou nebo úplnou kompatibilitu.
  4. Spusťte kontrolu a stáhněte zprávu JSON nebo seznam problémů CSV.

Co očekávat

Přijímá schémata Avro ve formátu JSON, každé nejvýše 1 000 000 znaků, s nejvýše 50 000 hodnotami JSON a 64 úrovněmi vnoření a až 50 dřívějších verzí pro tranzitivní režimy. Kontrola běží v prohlížeči v samostatné úloze na pozadí. Ke stažení je zpráva JSON a seznam problémů CSV.

Režimy

Zpětná kompatibilita znamená, že nové schéma dokáže číst data zapsaná podle starého, což je potřeba při aktualizaci příjemce dat. Dopředná kompatibilita znamená, že staré schéma dokáže číst data zapsaná podle nového. Úplná kompatibilita kontroluje oba směry. Tranzitivní režimy porovnávají nové schéma se všemi zadanými dřívějšími verzemi, od nejstarší, nikoli jen s poslední.

Pravidla vyhodnocování schémat

Kontroly vycházejí z oddílu Schema Resolution specifikace Avro 1.11: int lze rozšířit na long, float a double; long na float a double; float na double; string a bytes navzájem. Záznamy se párují podle plného názvu, nekvalifikovaného názvu nebo aliasu čtecího modulu. Pole čtecího modulu, které zapisovací modul nemá, vyžaduje platnou výchozí hodnotu. Výčet čtecího modulu musí podporovat každý symbol zapisovacího modulu, pokud nemá výchozí hodnotu. Každá větev unie zapisovacího modulu musí být řešitelná ve čtecím modulu.

Limity kontroly

Tento nástroj kontroluje vyhodnocování schémat Avro, nikoli další pravidla konkrétního registru schémat. Platné logické typy decimal musí mít stejnou přesnost a měřítko pro kódování bytes i fixed. Neznámé nebo neplatné logické typy používají základní typ Avro. Výchozí hodnoty unií se ověřují vůči první větvi; vnořené výchozí hodnoty se ověřují rekurzivně.

Užitečné další kroky