happytails.ai
Svenska

Kompatibilitetskontroll för Protobuf

Jämför två versioner av en .proto-fil och hitta ändringar som bryter kompatibiliteten för meddelanden som redan skrivits binärt eller som JSON. Borttagna nummer, typändringar, namnändrade fält och ändringar i uppräkningar förklaras var för sig.

Tar emot två .proto-filer på högst 1 000 000 tecken vardera, med högst 200 000 token, 2 000 meddelanden och uppräkningar, 10 000 fält per meddelande och 32 nivåer av nästlade meddelanden. Jämförelsen körs i webbläsaren i en bakgrundsworker. Nedladdningarna är en JSON-rapport och en CSV-lista över resultat. Versionen som befintliga data skrevs med. Lägg den ändrade filen i Nytt schema. Upp till 1 000 000 tecken. Kontrollera inställningarna innan du kör.

Ditt resultat

Rapportera ett problem eller dela en idé.

Kompatibilitetskontroll för Protobuf
  1. Klistra in den gamla .proto-filen i huvudrutan.
  2. Klistra in den nya versionen i fältet Nytt schema.
  3. Kör kontrollen och granska resultaten, med de allvarligaste först.
  4. Ladda ned JSON-rapporten eller CSV-listan.

Vad du kan förvänta dig

Tar emot två .proto-filer på högst 1 000 000 tecken vardera, med högst 200 000 token, 2 000 meddelanden och uppräkningar, 10 000 fält per meddelande och 32 nivåer av nästlade meddelanden. Jämförelsen körs i webbläsaren i en bakgrundsworker. Nedladdningarna är en JSON-rapport och en CSV-lista över resultat.

Allvarlighetsgrader

Inkompatibelt innebär att gamla och nya program kan feltolka binära meddelanden: ett borttaget fält vars nummer inte reserverats, ett nummer återanvänt från ett reserverat intervall, en typ med annan binärkodning, en ändring mellan enstaka och upprepat, ett borttaget meddelande eller en borttagen uppräkning, eller ett omnumrerat uppräkningsvärde. Inkompatibelt med JSON innebär att binära data fortfarande fungerar men att JSON- eller textformatet ändras, exempelvis om ett fält eller uppräkningsvärde byter namn. Varningar gäller ändringar som fungerar binärt men kan kapa eller tolka om värden, som int32 till int64 eller flytt in i och ut ur en oneof.

Så görs jämförelsen

Meddelanden och uppräkningar matchas efter namn utan paket och fält efter nummer, enligt protobuf-språkguidens regler för att uppdatera en meddelandetyp. Meddelanden och uppräkningar som är nästlade i andra meddelanden jämförs också.

Det här stöds inte

Tolken läser proto2- och proto3-filer med meddelanden, uppräkningar, oneof, map-fält, nästlade typer, reserverade nummer och namn samt fältalternativ. Importer listas men löses inte, så typer från andra filer jämförs bara efter namn. Editions, grupper och tillägg avvisas. Tjänster hoppas över.

Användbara nästa steg