Provera kompatibilnosti Avro šema
Proverite može li nova Avro šema i dalje čitati podatke zapisane starom šemom ili obratno. Svako polje, tip i simbol enum-a koji blokira kompatibilnost naveden je zajedno sa svojom putanjom.
Prihvata Avro šeme u JSON formatu, do 1.000.000 znakova po šemi, najviše 50.000 JSON vrednosti i 64 nivoa ugnježdenosti, kao i do 50 ranijih verzija za tranzitivne režime. Provera se izvršava u pozadinskom radniku pregledača. Možete preuzeti JSON izveštaj i CSV spisak problema. Šema zapisivača kao JSON ili {"versions":[...]} s ranijim šemama poredanima od najstarije za tranzitivne načine. Do 1.000.000 znakova. Pregledajte postavke pre pokretanja.
Vaš rezultat
Provera kompatibilnosti Avro šema
- Zalepite raniju Avro šemu u glavno polje ili {"versions":[...]} za tranzitivni način.
- Zalepite novu šemu u polje Nova šema.
- Izaberite kompatibilnost unatrag, unapred ili potpunu kompatibilnost.
- Pokrenite proveru i preuzmite JSON izveštaj ili CSV spisak problema.
Šta možete očekivati
Prihvata Avro šeme u JSON formatu, do 1.000.000 znakova po šemi, najviše 50.000 JSON vrednosti i 64 nivoa ugnježdenosti, kao i do 50 ranijih verzija za tranzitivne režime. Provera se izvršava u pozadinskom radniku pregledača. Možete preuzeti JSON izveštaj i CSV spisak problema.
Načini
Kompatibilnost unazad znači da nova šema može da čita podatke zapisane starom šemom, što je potrebno prilikom nadogradnje potrošača. Kompatibilnost unapred znači da stara šema može da čita podatke zapisane novom. Potpuna kompatibilnost proverava oba smera. Tranzitivni režimi proveravaju novu šemu prema svakoj navedenoj ranijoj verziji, od najstarije, a ne samo prema poslednjoj.
Pravila razrešavanja
Provere prate odeljak Schema Resolution specifikacije Avro 1.11: int se promoviše u long, float i double; long u float i double; float u double; a string i bytes mogu se međusobno promovisati. Zapisi se uparuju po punom imenu, nekvalifikovanom imenu ili aliasu čitača. Polju čitača koje zapisivač nema potrebna je važeća podrazumevana vrednost. Enum čitača mora da sadrži svaki simbol zapisivača, osim ako ima podrazumevanu vrednost. Svaka grana unije zapisivača mora da se razreši u čitaču.
Ograničenja provere
Ova provera obuhvata razrešavanje Avro šema, a ne dodatna pravila konkretnog registra šema. Važeći decimalni logički tipovi moraju imati jednaku preciznost i skalu za kodiranja bytes i fixed. Nepoznati ili nevažeći logički tipovi koriste osnovni Avro tip. Podrazumevane vrednosti unije proveravaju se prema prvoj grani; ugnježdene podrazumevane vrednosti proveravaju se rekurzivno.