Kontrola zgodności Protobuf
Porównaj dwie wersje pliku .proto i znajdź zmiany naruszające zgodność wcześniej zapisanych wiadomości binarnych lub JSON. Usunięte numery, zmiany typów, zmiany nazw pól i zmiany wyliczeń są wyjaśniane osobno.
Przyjmuje dwa pliki .proto, każdy do 1 000 000 znaków, z maksymalnie 200 000 tokenów, 2 000 wiadomości i wyliczeń, 10 000 pól na wiadomość i 32 poziomami zagnieżdżonych wiadomości. Porównanie działa w przeglądarce w osobnym zadaniu w tle. Do pobrania są raport JSON i lista ustaleń CSV. Wersja, według której zapisano istniejące dane. Umieść zmieniony plik w polu Nowy schemat. Do 1000000 znaków. Sprawdź ustawienia przed uruchomieniem.
Twój wynik
Kontrola zgodności Protobuf
- Wklej stary plik .proto w głównym polu.
- Wklej nową wersję w polu Nowy schemat.
- Uruchom kontrolę i przejrzyj ustalenia, zaczynając od najpoważniejszych.
- Pobierz raport JSON lub listę CSV.
Warto wiedzieć
Przyjmuje dwa pliki .proto, każdy do 1 000 000 znaków, z maksymalnie 200 000 tokenów, 2 000 wiadomości i wyliczeń, 10 000 pól na wiadomość i 32 poziomami zagnieżdżonych wiadomości. Porównanie działa w przeglądarce w osobnym zadaniu w tle. Do pobrania są raport JSON i lista ustaleń CSV.
Poziomy ważności
Zmiana niezgodna oznacza, że stare i nowe programy mogą błędnie odczytywać wiadomości binarne: usunięte pole bez rezerwacji numeru, ponowne użycie numeru z zarezerwowanego zakresu, typ z innym kodowaniem binarnym, zmiana między pojedynczym a powtarzanym, usunięta wiadomość lub wyliczenie albo zmiana numeru wartości wyliczenia. Niezgodność JSON oznacza, że dane binarne nadal działają, ale format JSON lub tekstowy się zmienia, np. po zmianie nazwy pola lub wartości wyliczenia. Ostrzeżenia dotyczą zmian zgodnych binarnie, które mogą obcinać wartości lub zmieniać ich interpretację, np. z int32 na int64, oraz przenoszenia do i poza oneof.
Jak przebiega porównanie
Wiadomości i wyliczenia są dopasowywane według nazwy bez pakietu, a pola według numeru, zgodnie z zasadami aktualizacji typu wiadomości w przewodniku języka protobuf. Porównywane są też wiadomości i wyliczenia zagnieżdżone w innych wiadomościach.
Co nie jest obsługiwane
Parser odczytuje pliki proto2 i proto3 z wiadomościami, wyliczeniami, oneof, mapami, typami zagnieżdżonymi, zarezerwowanymi numerami i nazwami oraz opcjami pól. Importy są wymieniane, ale nie są rozwijane, więc typy z innych plików porównuje się tylko według nazwy. Edycje, grupy i rozszerzenia są odrzucane. Usługi są pomijane.