Kontrola zgodności schematów Avro
Sprawdź, czy nowy schemat Avro nadal odczytuje dane zapisane według starego lub odwrotnie. Każde pole, typ i symbol wyliczenia blokujące zgodność są podane wraz ze ścieżką.
Przyjmuje schematy Avro w formacie JSON, każdy do 1 000 000 znaków, z maksymalnie 50 000 wartości JSON i 64 poziomami zagnieżdżenia, oraz do 50 wcześniejszych wersji w trybach przechodnich. Kontrola działa w przeglądarce w osobnym zadaniu w tle. Do pobrania są raport JSON i lista problemów CSV. Schemat modułu zapisującego jako JSON lub {"versions":[...]} z wcześniejszymi schematami od najstarszego dla trybów przechodnich. Do 1000000 znaków. Sprawdź ustawienia przed uruchomieniem.
Twój wynik
Kontrola zgodności schematów Avro
- Wklej wcześniejszy schemat Avro w głównym polu lub {"versions":[...]} dla trybu przechodniego.
- Wklej nowy schemat w polu Nowy schemat.
- Wybierz zgodność wsteczną, w przód lub pełną.
- Uruchom kontrolę i pobierz raport JSON lub listę problemów CSV.
Warto wiedzieć
Przyjmuje schematy Avro w formacie JSON, każdy do 1 000 000 znaków, z maksymalnie 50 000 wartości JSON i 64 poziomami zagnieżdżenia, oraz do 50 wcześniejszych wersji w trybach przechodnich. Kontrola działa w przeglądarce w osobnym zadaniu w tle. Do pobrania są raport JSON i lista problemów CSV.
Tryby
Zgodność wsteczna oznacza, że nowy schemat może odczytać dane zapisane według starego, co jest potrzebne przy aktualizacji odbiorcy danych. Zgodność w przód oznacza, że stary schemat może odczytać dane zapisane według nowego. Zgodność pełna sprawdza obie strony. Tryby przechodnie porównują nowy schemat z każdą podaną wcześniejszą wersją, od najstarszej, a nie tylko z ostatnią.
Reguły dopasowywania schematów
Kontrole stosują sekcję Schema Resolution specyfikacji Avro 1.11: int może być rozszerzony do long, float i double; long do float i double; float do double; string i bytes wzajemnie do siebie. Rekordy pasują według pełnej nazwy, nazwy niekwalifikowanej lub aliasu modułu odczytującego. Pole modułu odczytującego, którego nie ma w module zapisującym, wymaga prawidłowej wartości domyślnej. Wyliczenie modułu odczytującego musi obsługiwać każdy symbol modułu zapisującego, chyba że ma wartość domyślną. Każda gałąź unii modułu zapisującego musi dać się dopasować w module odczytującym.
Ograniczenia kontroli
To narzędzie sprawdza dopasowywanie schematów Avro, a nie dodatkowe reguły konkretnego rejestru schematów. Prawidłowe typy logiczne decimal muszą mieć równą precyzję i skalę, zarówno dla kodowania bytes, jak i fixed. Nieznane lub nieprawidłowe typy logiczne używają bazowego typu Avro. Wartości domyślne unii są sprawdzane względem pierwszej gałęzi; zagnieżdżone wartości domyślne są sprawdzane rekurencyjnie.