Как можно конвертировать структуры Apache Thrift в файлы proto Google Protobuf?

Как можно эффективно перевести большое количество структур из формата Thrift в формат PB? Я знаю, что процесс обратного перевода из PB в Thrift невозможен, но перевод из Thrift в PB возможен. Можете посоветовать какую-нибудь утилиту или способ для этого?
  • 21 ноября 2023 г. 6:12
Ответы на вопрос 1
Для конвертации структур Apache Thrift в файлы proto Google Protobuf можно использовать следующие способы:

1. Вручную создать эквивалентные proto-структуры. Проанализируйте структуры Thrift и создайте соответствующие структуры в формате proto, используя аналогичные типы данных и поля. Этот метод может быть трудоемким, особенно при конвертации большого количества структур, но он обеспечивает полный контроль над процессом конвертации.

2. Использовать сторонние утилиты. Существуют инструменты, которые могут автоматически генерировать proto-структуры из файлов Thrift. Например, утилита thriftrw2protoc (https://github.com/machinezone/thriftrw2protoc) может преобразовывать структуры Thrift в формат PB. Она создает эквивалентные proto-стабы, которые могут быть использованы в вашем проекте. Однако, проверьте, что все сгенерированные структуры корректны и соответствуют вашим требованиям.

3. Реализовать конвертацию программно. Если у вас есть опыт работы с Apache Thrift и Google Protobuf, вы можете реализовать процесс конвертации самостоятельно. Напишите скрипт или программу, которая будет преобразовывать структуры Thrift в структуры PB в соответствии с вашими нуждами. Это требует больше времени и использования Thrift и Protobuf API, но позволяет более тонко настроить процесс конвертации.

Выберите метод, который лучше всего подходит для вашего проекта в зависимости от ваших навыков и требований.
Похожие вопросы