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štaj 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štaj ili CSV popis problema.
Šta 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štaj 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 promovira u long, float i double; long u float i double; float u double; a string i bytes mogu se međusobno promovirati. Zapisi se podudaraju prema punom imenu, nekvalificiranom imenu ili aliasu čitača. Polje čitača koje zapisivač nema mora imati valjanu podrazumijevanu vrijednost. Enum čitača mora sadržavati svaki simbol zapisivača, osim ako ima podrazumijevanu vrijednost. Svaka grana unije zapisivača mora se moći razriješiti u čitaču.
Ograničenja provjere
Ova provjera obuhvaća razrješavanje Avro shema, a ne dodatna pravila pojedinog registra shema. Valjani decimalni logički tipovi moraju imati jednaku preciznost i skalu za kodiranja bytes i fixed. Nepoznati ili nevaljani logički tipovi koriste osnovni Avro tip. Zadane vrijednosti unije provjeravaju se prema prvoj grani; ugniježđene zadane vrijednosti provjeravaju se rekurzivno.