Получена ошибка «неизвестное ключевое слово: версия» при кодировании данных с использованием ruby ​​gem avro turf с реестром схемы - PullRequest
0 голосов
/ 02 июля 2019

Я использовал Ruby gem avro_turf, чтобы преобразовать данные в двоичные файлы и опубликовать их в Kafka. Но я получил ошибку unknown keyword: version при попытке кодировать данные. Я запустил реестр схем Confluent на localhost:8081. Я могу создавать и читать тему на терминале.

Я сканирую его исходный код , в функции кодирования есть параметр "version".

Я вью curl -X GET http://127.0.0.1:8081/subjects/avro-test/versions/1 в Реестр схемы и получаю эти данные

{"subject":"avro-test","version":1,"id":1,"schema":"{\"type\":\"record\",\"name\":\"evolution\",\"namespace\":\"com.landoop\",\"doc\":\"This is a sample Avro schema to get you started. Please edit\",\"fields\":[{\"name\":\"name\",\"type\":\"string\"},{\"name\":\"phone\",\"type\":\"string\"},{\"name\":\"email\",\"type\":\"string\"}]}"}

Это мой текущий код

require "avro_turf/messaging"

avro = AvroTurf::Messaging.new(registry_url: "http://localhost:8081/")

data = avro.encode('{ "name" => "hello, world", "phone": "01232323", "email": "hello@gmail.com" }', subject: 'avro-test', version: 1)

Пожалуйста, помогите мне для решения.

1 Ответ

1 голос
/ 02 июля 2019

Я сканирую его исходный код, в функции кодирования есть параметр "версия".

Да, проблема в том, что вы смотрите на текущее состояние master ветви. На данный момент он содержит невыпущенные изменения, включая это ключевое слово.

Так что либо дождитесь выхода следующей версии, либо используйте мастер напрямую

gem "avro_turf", github: "dasch/avro_turf"
...