happytails.ai
Dansk

Kompatibilitetskontrol for Avro-skemaer

Kontrollér, om et nyt Avro-skema stadig kan læse data skrevet med det gamle, eller omvendt. Hvert felt, hver type og hvert enumerationssymbol, der forhindrer kompatibilitet, vises med sin sti.

Accepterer Avro-skemaer som JSON på højst 1.000.000 tegn hver, med højst 50.000 JSON-værdier og 64 indlejringsniveauer samt op til 50 tidligere versioner i transitive tilstande. Kontrollen kører i browseren i en baggrundsworker. Downloads er en JSON-rapport og en CSV-liste over problemer. Skriverskemaet som JSON eller {"versions":[...]} med tidligere skemaer fra ældst til nyest i transitive tilstande. Op til 1.000.000 tegn. Gennemgå indstillingerne, før du kører.

Dit resultat

Rapportér et problem, eller del en idé.

Kompatibilitetskontrol for Avro-skemaer
  1. Indsæt det tidligere Avro-skema i hovedfeltet eller {"versions":[...]} i en transitiv tilstand.
  2. Indsæt det nye skema i feltet Nyt skema.
  3. Vælg bagudkompatibilitet, fremadkompatibilitet eller fuld kompatibilitet.
  4. Kør kontrollen, og download JSON-rapporten eller CSV-listen over problemer.

Det skal du vide

Accepterer Avro-skemaer som JSON på højst 1.000.000 tegn hver, med højst 50.000 JSON-værdier og 64 indlejringsniveauer samt op til 50 tidligere versioner i transitive tilstande. Kontrollen kører i browseren i en baggrundsworker. Downloads er en JSON-rapport og en CSV-liste over problemer.

Tilstande

Bagudkompatibilitet betyder, at det nye skema kan læse data skrevet med det gamle, hvilket er nødvendigt ved opgradering af en forbruger. Fremadkompatibilitet betyder, at det gamle skema kan læse data skrevet med det nye. Fuld kompatibilitet kontrollerer begge retninger. De transitive tilstande kontrollerer det nye skema mod hver tidligere version, du angiver, fra ældst til nyest, i stedet for kun den seneste.

Regler for skemaopløsning

Kontrollerne følger afsnittet Schema Resolution i Avro 1.11-specifikationen: int kan fremmes til long, float og double, long til float og double, float til double og string og bytes til hinanden. Poster matches efter fuldt navn, ukvalificeret navn eller et læseralias. Et læserfelt, som skriveren ikke har, kræver en gyldig standardværdi. En læserenumeration kræver hvert skriversymbol, medmindre den har en standardværdi. Hver gren i en skriverunion skal kunne opløses i læseren.

Kontrollens grænser

Dette kontrollerer Avro-skemaopløsning frem for ekstra regler i et bestemt skemaregister. Gyldige decimal-logiske typer skal have samme præcision og skala for både bytes- og fixed-kodninger. Ukendte eller ugyldige logiske typer bruger den underliggende Avro-type. Unioners standardværdier kontrolleres mod den første gren; indlejrede standardværdier valideres rekursivt.

Nyttige næste trin