Как преобразовать схему json в схему avro

Мое приложение использует схему json (org.everit.json.schema.Schema) для проверки сообщений JSON на соответствие определенному формату. Сейчас мы думаем о переходе на схему Avro. Это включает в себя преобразование ранее сохраненных файлов schema.json в схему Avro schema.avsc. Кроме того, текущее поведение заключается в том, что мы получаем схему в формате JSON через API /schema/create и сохраняем ее в формате schema.json после проверки с помощью SchemaLoader, например, SchemaLoader.load(JSONObject obj).

Нам также нужен способ конвертировать этот schema.json в schema.avsc, поскольку мы получаем его во время выполнения через API. Есть ли какая-либо утилита/инструмент, который мы можем использовать для преобразования schema.json в schema.avsc?


person user2206366    schedule 16.09.2019    source источник


Ответы (1)


Взгляните на json-avro-converter на GitHub. Он включает в себя простой интерфейс командной строки для проверки и преобразования между Avro и JSON.

Использование

JSON в Avro
java -jar json2avro-validator.jar -s user.avcs -i user.json

Avro в JSON
java -jar json2avro-validator.jar -s user.avcs -i user.avro -m avro2json

person Ryan James    schedule 16.09.2019
comment
На питоне есть что-нибудь? - person Isan Sahoo; 30.09.2020
comment
AFAICT это не имеет отношения к схеме JSON, она преобразует записи json в записи avro и из них в соответствии со схемой avro... что-то другое - person Anentropic; 16.07.2021