happytails.ai
Čeština

Kontrola kompatibility Protobuf

Porovnejte dvě verze souboru .proto a najděte změny narušující kompatibilitu dříve zapsaných binárních zpráv nebo JSON. Odebraná čísla, změny typů, přejmenovaná pole a změny výčtů jsou jednotlivě vysvětleny.

Přijímá dva soubory .proto, každý do 1 000 000 znaků, s nejvýše 200 000 tokeny, 2 000 zprávami a výčty, 10 000 poli na zprávu a 32 úrovněmi vnořených zpráv. Porovnání běží v prohlížeči v samostatné úloze na pozadí. Ke stažení je zpráva JSON a seznam zjištění CSV. Verze, podle které byla zapsána existující data. Změněný soubor vložte do pole Nové schéma. Nejvýše 1 000 000 znaků. Před spuštěním zkontrolujte nastavení.

Váš výsledek

Nahlaste problém nebo se podělte o nápad.

Kontrola kompatibility Protobuf
  1. Vložte starý soubor .proto do hlavního pole.
  2. Vložte novou verzi do pole Nové schéma.
  3. Spusťte kontrolu a prohlédněte zjištění od nejzávažnějších.
  4. Stáhněte zprávu JSON nebo seznam CSV.

Co očekávat

Přijímá dva soubory .proto, každý do 1 000 000 znaků, s nejvýše 200 000 tokeny, 2 000 zprávami a výčty, 10 000 poli na zprávu a 32 úrovněmi vnořených zpráv. Porovnání běží v prohlížeči v samostatné úloze na pozadí. Ke stažení je zpráva JSON a seznam zjištění CSV.

Stupně závažnosti

Nekompatibilní změna znamená, že staré a nové programy mohou chybně číst binární zprávy: odebrané pole bez rezervace čísla, opětovné použití čísla z rezervovaného rozsahu, typ s jiným binárním kódováním, změna mezi jednotlivým a opakovaným, odebraná zpráva nebo výčet či změna čísla hodnoty výčtu. Nekompatibilita JSON znamená, že binární data stále fungují, ale formát JSON nebo textový formát se mění, například při přejmenování pole či hodnoty výčtu. Varování se týkají binárně kompatibilních změn, které mohou oříznout hodnoty nebo změnit jejich interpretaci, například z int32 na int64, a přesunů do oneof a mimo něj.

Jak probíhá porovnání

Zprávy a výčty se párují podle názvu bez balíčku a pole podle čísla, v souladu s pravidly aktualizace typu zprávy v jazykové příručce protobuf. Porovnávají se i zprávy a výčty vnořené do jiných zpráv.

Co není podporováno

Parser čte soubory proto2 a proto3 se zprávami, výčty, oneof, mapami, vnořenými typy, rezervovanými čísly a názvy a volbami polí. Importy jsou uvedeny, ale nevyhodnocují se, takže typy z jiných souborů se porovnávají pouze podle názvu. Edice, skupiny a rozšíření jsou odmítnuty. Služby se vynechávají.

Užitečné další kroky