happytails.ai
Italiano

Verificatore di compatibilità Protobuf

Confronta due versioni di un file .proto e trova le modifiche che rendono incompatibili messaggi già scritti in formato binario o JSON. Numeri rimossi, modifiche dei tipi, campi rinominati e modifiche delle enumerazioni sono spiegati singolarmente.

Accetta due file .proto fino a 1.000.000 di caratteri ciascuno, con al massimo 200.000 token, 2.000 messaggi ed enumerazioni, 10.000 campi per messaggio e 32 livelli di messaggi annidati. Il confronto viene eseguito nel browser tramite un’elaborazione separata in secondo piano. I download sono un report JSON e un elenco CSV dei risultati. La versione con cui sono stati scritti i dati esistenti. Inserisci il file modificato in Nuovo schema. Fino a 1.000.000 di caratteri. Controlla le impostazioni prima di eseguire.

Il tuo risultato

Segnala un problema o condividi un’idea.

Verificatore di compatibilità Protobuf
  1. Incolla il vecchio file .proto nel campo principale.
  2. Incolla la nuova versione nel campo Nuovo schema.
  3. Esegui il controllo ed esamina i risultati, dai più gravi.
  4. Scarica il report JSON o l'elenco CSV.

Cosa aspettarsi

Accetta due file .proto fino a 1.000.000 di caratteri ciascuno, con al massimo 200.000 token, 2.000 messaggi ed enumerazioni, 10.000 campi per messaggio e 32 livelli di messaggi annidati. Il confronto viene eseguito nel browser tramite un’elaborazione separata in secondo piano. I download sono un report JSON e un elenco CSV dei risultati.

Livelli di gravità

Incompatibile significa che programmi vecchi e nuovi possono interpretare erroneamente i messaggi binari: un campo rimosso senza riservarne il numero, un numero riutilizzato da un intervallo riservato, un tipo con codifica binaria diversa, un passaggio tra singolo e ripetuto, un messaggio o un'enumerazione rimossi oppure un valore di enumerazione rinumerato. Incompatibile con JSON significa che i dati binari funzionano ancora ma il formato JSON o testuale cambia, ad esempio per un campo o un valore di enumerazione rinominato. Gli avvisi riguardano modifiche compatibili in formato binario che possono troncare o reinterpretare valori, come da int32 a int64 o spostamenti dentro e fuori da un oneof.

Come avviene il confronto

Messaggi ed enumerazioni vengono associati per nome senza il pacchetto, i campi per numero, secondo le regole della guida protobuf per aggiornare un tipo di messaggio. Vengono confrontati anche messaggi ed enumerazioni annidati in altri messaggi.

Cosa non è supportato

Il parser legge file proto2 e proto3 con messaggi, enumerazioni, oneof, mappe, tipi annidati, numeri e nomi riservati e opzioni dei campi. Gli import vengono elencati ma non risolti, quindi i tipi di altri file vengono confrontati solo per nome. Edizioni, gruppi ed estensioni vengono rifiutati. I servizi vengono saltati.

Passaggi successivi utili