Добавить новую схему / тему в реестр схем в формате файла Kafka Avro

Я пытаюсь запустить схему в реестр схем с помощью явной команды curl.

curl -X POST -H "Content-Type: application/vnd.schemaregistry.v1+json"  --data '{"schema" : {"type":"record","name":"myrecord","fields":[{"name":"f1","type":"string"}]}'  http://localhost:8081/subjects/avro-test/versions/

Я получаю следующую ошибку: {"error_code": 500, "message": "Internal Server Error"}

Примечание. Я могу получить доступ к данным из существующей темы, но при ее нажатии получаю ту же ошибку.


person BARATH    schedule 21.06.2018    source источник


Ответы (1)


Схема должна быть экранирована строкой

Например, начиная с

POST -d'{"schema": {\"type\":\"record\" 

Если можете, установите jq инструмент и вместо этого создайте файл AVSC, это поможет - см. мой комментарий здесь

person OneCricketeer    schedule 21.06.2018
comment
Спасибо!! Я исправил это, но по-прежнему получаю ту же ошибку .. Есть ли способ создать новую папку в предметах перед тем, как нажимать схему? - person BARATH; 22.06.2018
comment
Что вы имеете в виду под папкой? В реестре схем нет понятия папок - person OneCricketeer; 22.06.2018
comment
Я имею в виду тему-avro-test в URL-адресе реестра схемы: localhost: 8081 / themes / avro- test / versions Как мы его создаем, он уже недоступен? он не создается автоматически, когда я пытаюсь опубликовать схему - person BARATH; 22.06.2018
comment
Он создается не из-за ошибок. И вы получаете ошибки, потому что схема Avro должна быть строковым значением для "schema" JSON-ключа ... В любом случае я не понимаю, почему вам нужно делать это вручную. Если вы настроите продюсер AvroSerializer, он отправит вам схему для имени темы, в которую вы создаете - person OneCricketeer; 22.06.2018
comment
Я внес предложенные вами изменения ... включив json-ключ схемы ... Я снова получаю сообщение об ошибке, потому что тема недоступна ... можем ли мы создать тему с помощью команды curl? Или мне следует написать сериализатор avro для создание темы и схемы для темы .. - person BARATH; 22.06.2018
comment
Теперь новая схема выглядит так: '{schema: {\ type \: \ string \}}', но я получаю {error_code: 50002, message: время регистрации истекло} - person BARATH; 22.06.2018