Czy istnieją jakieś narzędzia do generowania definicji interfejsu Thrift z definicji Protobuf?Konwersja definicji Protobuf na Thrift
Odpowiedz
Wygląda na to, że odpowiedź brzmi "jeszcze nie". Jednym z problemów, przed którym staniesz, jest to, że oszczędzanie definiuje pełny system RPC z usługami i wywołaniami metod, podczas gdy protobuf naprawdę skupia się na typach danych i bitach serializacji. Model danych Thrift jest nieco bardziej ograniczony niż protobuf (bez struktur rekursywnych itp.), Ale nie powinno to stanowić problemu w oszczędzaniu -> kierunek protobuf.
Oczywiście można dość łatwo przekonwertować wszystkie typy danych oszczędzanych na definicje protobuf, ignorując całkowicie sekcję serwisową. Możesz nawet dodać coś takiego jako wbudowany generator w kompilatorze oszczędzania, jeśli chcesz.
Thrift i Protobuf nie są jednak zamienne. Spójrz na Biggest differences of Thrift vs Protocol Buffers?, aby zobaczyć kluczowe różnice. Co dokładnie próbujesz osiągnąć?
Nie sądzę, że istnieje. Jeśli masz zamiar napisać kod, możesz napisać generator języka, który utworzy dla Ciebie pliki .thrift.
Możesz napisać narzędzie w dowolnym języku (napisałem w C++ w protobuf-j2me [1] i zaadaptowałem protobuf-csharp-port code w [2]).
Można mieć protoc.exe nazwać to lubią:
protoc.exe --plugin=protoc-gen-thrift.exe --thrift_out=. file.proto
Trzeba wymienić go jako protoc-gen-thrift.exe
aby --thrift_out
opcja dostępna.