Существуют ли какие-либо инструменты для генерации определения интерфейса Thrift из определения Protobuf?Преобразование определений Protobuf в Thrift
ответ
Похоже, что ответ «еще нет». Одна из проблем, с которой вы столкнетесь, заключается в том, что бережливость определяет полную систему RPC с вызовами служб и методов, в то время как protobuf действительно фокусируется на типах данных и битах сериализации. Модель данных Trrift немного ограничена, чем protobuf (без рекурсивных структур и т. Д.), Но это не должно быть проблемой в направлении бережливости -> protobuf.
Несомненно, вы могли бы легко преобразовать все типы данных бережливости в определения protobuf, игнорируя полностью сервисную секцию. Вы могли бы добавить что-то подобное в качестве встроенного генератора в компилятор бережливости, если хотите.
Транспортировка и Протобуф не являются взаимозаменяемыми. Посмотрите на Biggest differences of Thrift vs Protocol Buffers?, чтобы увидеть некоторые ключевые отличия. Что именно вы пытаетесь достичь?
не думаю есть. Если вы хотите написать код для этого, вы можете написать генератор языка, который создает файлы .thrift для вас.
Вы можете написать инструмент на любом языке (я написал в C++ в protobuf-j2me [1] и адаптировал код protobuf-csharp-port в [2]).
Вы можете protoc.exe назвать это нравится:
protoc.exe --plugin=protoc-gen-thrift.exe --thrift_out=. file.proto
Вы должны назвать его как protoc-gen-thrift.exe
сделать --thrift_out
вариантом.