happytails.ai
Magyar

Protobuf-kompatibilitás ellenőrző

Hasonlítsa össze egy .proto fájl két verzióját, és keresse meg a már binárisan vagy JSON-ként megírt üzenetek kompatibilitását megtörő módosításokat. Az eltávolított számok, típusváltozások, átnevezett mezők és felsorolásváltozások külön magyarázatot kapnak.

Két, egyenként legfeljebb 1 000 000 karakteres .proto fájlt fogad, legfeljebb 200 000 tokennel, 2 000 üzenettel és felsorolással, üzenetenként 10 000 mezővel és 32 beágyazott üzenetszinttel. Az összehasonlítás a böngészőben, háttérben futó feldolgozóban történik. JSON-jelentés és a megállapítások CSV-listája tölthető le. Az a verzió, amellyel a meglévő adatokat írták. A módosított fájlt az Új séma mezőbe helyezze. Legfeljebb 1 000 000 karakter. Futtatás előtt tekintsd át a beállításokat.

Az eredményed

Jelezz egy hibát, vagy oszd meg az ötleted.

Protobuf-kompatibilitás ellenőrző
  1. Illessze be a régi .proto fájlt a fő mezőbe.
  2. Illessze be az új verziót az Új séma mezőbe.
  3. Futtassa az ellenőrzést, és tekintse át a megállapításokat, a legsúlyosabbakkal kezdve.
  4. Töltse le a JSON-jelentést vagy a CSV-listát.

Mire számíthatsz

Két, egyenként legfeljebb 1 000 000 karakteres .proto fájlt fogad, legfeljebb 200 000 tokennel, 2 000 üzenettel és felsorolással, üzenetenként 10 000 mezővel és 32 beágyazott üzenetszinttel. Az összehasonlítás a böngészőben, háttérben futó feldolgozóban történik. JSON-jelentés és a megállapítások CSV-listája tölthető le.

Súlyosságok

A kompatibilitástörés azt jelenti, hogy a régi és új programok félreolvashatják a bináris üzeneteket: eltávolított mező fenntartatlan számmal, fenntartott tartományból újra felhasznált szám, eltérő bináris kódolású típus, váltás egyszeres és ismétlődő mező között, eltávolított üzenet vagy felsorolás, illetve átszámozott felsorolásérték. A JSON-kompatibilitás törésekor a bináris adat továbbra is működik, de a JSON- vagy szöveges formátum változik, például mező vagy felsorolásérték átnevezésekor. A figyelmeztetések a binárisan működő, de értékeket csonkoló vagy másként értelmező változásokat jelzik, például int32 helyett int64 használatát vagy oneof csoportba, illetve onnan ki mozgatást.

Az összehasonlítás módja

Az üzeneteket és felsorolásokat a csomag nélküli nevük, a mezőket a számuk alapján egyezteti, a protobuf nyelvi útmutató üzenettípus-frissítési szabályait követve. A más üzenetekbe ágyazott üzeneteket és felsorolásokat is összehasonlítja.

Mi nem támogatott

Az értelmező proto2 és proto3 fájlokat olvas üzenetekkel, felsorolásokkal, oneof elemekkel, leképezésekkel, beágyazott típusokkal, fenntartott számokkal és nevekkel, valamint mezőopciókkal. Az importokat felsorolja, de nem oldja fel, így más fájlok típusait csak név szerint hasonlítja össze. Az editions, csoportok és kiterjesztések elutasításra kerülnek. A szolgáltatásokat kihagyja.

Hasznos következő lépések