Provjera kompatibilnosti Avro shema
Provjerite može li nova Avro shema i dalje čitati podatke zapisane starom shemom ili obratno. Svako polje, tip i simbol enum-a koji blokira kompatibilnost naveden je zajedno sa svojom putanjom.
Prihvaća Avro sheme kao JSON veličine do 1.000.000 znakova svaka, s najviše 50.000 JSON vrijednosti i 64 razine ugniježđenosti te do 50 ranijih verzija u tranzitivnim načinima. Provjera se izvodi u pozadinskom radniku vašeg preglednika. Možete preuzeti JSON izvješće i CSV popis problema. Shema zapisivača kao JSON ili {"versions":[...]} s ranijim shemama poredanima od najstarije za tranzitivne načine. Do 1.000.000 znakova. Pregledajte postavke prije pokretanja.
Vaš rezultat
Provjera kompatibilnosti Avro shema
- Zalijepite raniju Avro shemu u glavno polje ili {"versions":[...]} za tranzitivni način.
- Zalijepite novu shemu u polje Nova shema.
- Odaberite kompatibilnost unatrag, unaprijed ili potpunu kompatibilnost.
- Pokrenite provjeru i preuzmite JSON izvješće ili CSV popis problema.
Što možete očekivati
Prihvaća Avro sheme kao JSON veličine do 1.000.000 znakova svaka, s najviše 50.000 JSON vrijednosti i 64 razine ugniježđenosti te do 50 ranijih verzija u tranzitivnim načinima. Provjera se izvodi u pozadinskom radniku vašeg preglednika. Možete preuzeti JSON izvješće i CSV popis problema.
Načini
Kompatibilnost unatrag znači da nova shema može čitati podatke zapisane starom shemom, što je potrebno pri nadogradnji potrošača. Kompatibilnost unaprijed znači da stara shema može čitati podatke zapisane novom. Potpuna provjerava oboje. Tranzitivni načini provjeravaju novu shemu u odnosu na svaku navedenu raniju verziju, od najstarije, a ne samo u odnosu na posljednju.
Pravila razrješavanja
Provjere slijede odjeljak Schema Resolution specifikacije Avro 1.11: int se proširuje u long, float i double; long u float i double; float u double; a string i bytes mogu se međusobno pretvoriti. Zapisi se podudaraju prema punom imenu, nekvalificiranom imenu ili aliasu čitača. Polje čitača koje zapisivač nema mora imati valjanu zadanu vrijednost. Enum čitača mora sadržavati svaki simbol zapisivača, osim ako ima zadanu vrijednost. Svaka grana unije zapisivača mora se moći razriješiti u čitaču.
Ograničenja provjere
Ovim se provjerava razrješavanje Avro shema, a ne dodatna pravila određenog registra shema. Valjani decimalni logički tipovi moraju imati jednaku preciznost i mjerilo za bytes i fiksna kodiranja. Nepoznati ili nevaljani logički tipovi upotrebljavaju osnovni Avro tip. Zadane vrijednosti unije provjeravaju se prema prvoj grani; ugniježđene zadane vrijednosti validiraju se rekurzivno.