happytails.ai
Suomi

Protobuf-yhteensopivuustarkistus

Vertaa kahta .proto-tiedoston versiota ja etsi muutokset, jotka rikkovat jo kirjoitettujen binääri- tai JSON-viestien yhteensopivuuden. Poistetut numerot, tyyppimuutokset, uudelleennimetyt kentät ja enum-muutokset selitetään erikseen.

Hyväksyy kaksi enintään 1 000 000 merkin .proto-tiedostoa, joissa on enintään 200 000 tokenia, 2 000 viestiä ja enumia, 10 000 kenttää viestiä kohti ja 32 sisäkkäisten viestien tasoa. Vertailu suoritetaan selaimessa erillisessä taustasäikeessä. Ladattavina ovat JSON-raportti ja havaintojen CSV-luettelo. Versio, jolla nykyiset tiedot kirjoitettiin. Lisää muutettu tiedosto kohtaan Uusi skeema. Enintään 1 000 000 merkkiä. Tarkista asetukset ennen suorittamista.

Tuloksesi

Ilmoita ongelmasta tai jaa idea.

Protobuf-yhteensopivuustarkistus
  1. Liitä vanha .proto-tiedosto pääkenttään.
  2. Liitä uusi versio Uusi skeema -kenttään.
  3. Suorita tarkistus ja tarkastele havaintoja vakavimmista alkaen.
  4. Lataa JSON-raportti tai CSV-luettelo.

Mitä on hyvä tietää

Hyväksyy kaksi enintään 1 000 000 merkin .proto-tiedostoa, joissa on enintään 200 000 tokenia, 2 000 viestiä ja enumia, 10 000 kenttää viestiä kohti ja 32 sisäkkäisten viestien tasoa. Vertailu suoritetaan selaimessa erillisessä taustasäikeessä. Ladattavina ovat JSON-raportti ja havaintojen CSV-luettelo.

Vakavuusluokat

Yhteensopivuuden rikkoutuminen tarkoittaa, että vanhat ja uudet ohjelmat voivat tulkita binääriviestit väärin: poistettu kenttä, jonka numeroa ei ole varattu, varatulta alueelta uudelleen käytetty numero, eri binäärikoodauksen tyyppi, muutos yksittäisen ja toistuvan arvon välillä, poistettu viesti tai enum tai uudelleennumeroitu enum-arvo. JSON-yhteensopivuuden rikkoutuminen tarkoittaa, että binääritiedot toimivat yhä, mutta JSON- tai tekstimuoto muuttuu esimerkiksi kentän tai enum-arvon uudelleennimeämisen vuoksi. Varoitukset koskevat muutoksia, jotka toimivat binäärimuodossa mutta voivat katkaista arvoja tai muuttaa niiden tulkintaa, kuten int32-tyypin muuttaminen int64-tyypiksi tai siirrot oneof-ryhmään ja siitä pois.

Vertailun toimintatapa

Viestit ja enumit täsmäytetään niiden nimillä ilman pakettia ja kentät numerolla protobuf-kielioppaan viestityypin päivityssääntöjen mukaisesti. Myös muiden viestien sisään määriteltyjä viestejä ja enumeja verrataan.

Mitä ei tueta

Jäsennin lukee proto2- ja proto3-tiedostoja, joissa on viestejä, enumeja, oneof-ryhmiä, map-kenttiä, sisäkkäisiä tyyppejä, varattuja numeroita ja nimiä sekä kenttäasetuksia. Tuonnit luetellaan, mutta niitä ei ratkaista, joten muiden tiedostojen tyyppejä verrataan vain nimen perusteella. Editions, ryhmät ja laajennukset hylätään. Palvelut ohitetaan.

Hyödylliset seuraavat työkalut