#apache-kafka #confluent-schema-registry
Вопрос:
Я тоже пытаюсь использовать правильную схему для ключей. По умолчанию он создается как:
{"subject":"AVROTEST-key","version":1,"id":60,"schema":""string""}
Но я хочу, чтобы это было так:
{"subject":"AVROTEST-key","version":1,"id":60,"schema": "{"type":"record","name":"AVROTEST","fields":[{"name":"key","type":"long"}]}"}
Из-за проблем с совместимостью я попытался полностью удалить его и добавить новый. Я удалил его, используя
curl -X DELETE http://XXXXXX.XXXXXX:1234/subjects/AVROTEST-key/versions/1
других версий нет, и я получаю ошибку 404, когда пытаюсь получить ее после удаления, что означает, что она успешно удалена. Но когда я пытаюсь зарегистрировать новую схему, я получаю эту ошибку:
«код ошибки»:409,»сообщение»:»Регистрируемая схема несовместима с предыдущей схемой»
Как это может быть несовместимо с более ранней схемой, если схемы нет? Что я упускаю?
Вот как я регистрирую новую схему:
curl -X POST -H "Content-Type: application/vnd.schemaregistry.v1 json" --data '{"schema": "{"type":"record","name":"AVROTEST","fields":[{"name":XXXXXX.XXXXXXXX:1234/subjects/AVROTEST-key/versions
Комментарии:
1. 1) Какую версию реестра вы используете? 2) Расскажите нам больше о самой ИНТЕРЕСНОЙ теме. Есть ли продюсер, активно пишущий ему? Почему вы не можете изменить название темы? Вам следует изменить имя темы, так как вы аннулируете все существующие записи в теме, если вы не очистили тему иным способом.
Ответ №1:
Похоже, была еще одна версия схемы, о которой я не знал. Забавная ошибка на самом деле, я должен был удалить все версии, а не [1]. Итак, вводим команду
curl -X DELETE http://XXXXXX.XXXXXX:1234/subjects/AVROTEST-key/versions/
решил мою проблему. Все предыдущие схемы удаляются. Но обратите внимание, что новая схема не будет зарегистрирована как версия [1]. Это увеличит последний идентификатор схемы.