Создайте соединитель kafka с именем, которое еще не используется
Когда я пытаюсь создать соединитель kafka с именем, которое уже используется через вызов rest, я получаю сообщение об ошибке:
{"error_code":409,"message":"Тест соединителя уже существует"}
Я хочу обойти эту ошибку, например, при создании Кафка Тема у нас что-то вроде ниже,
./kafka-topics **--if-not-exists** --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
Есть ли у нас что-то вроде --if-not-exists
при создании разъемов кафки?
2 ответа
То, как мне нравится это делать, мы используем PUT
метод для конечной точки конфигурации, например:
curl -i -X PUT -H "Accept:application/json" -H "Content-Type:application/json" \
http://localhost:8083/connectors/my-connector-name/config -d "@my-connector-config.json"
Поведение заключается в создании в случае, если его не существует, и обновлении в противном случае, подробнее в документации здесь: https://docs.confluent.io/current/connect/references/restapi.html
Обратите внимание, что ваш json
полезная нагрузка не должна содержать name
а также config
, но только config
содержимое как в примере с документами.
Прямого пути нет, но вы всегда можете использовать собственные сценарии для проверки. Вы можете использовать REST API для запроса активных соединителей, как показано ниже.
curl localhost:8083/connectors // will return the active connectors on worker
["local-file-sink1", "db-sink1"]
Как только вы получите имя активного соединителя, вы можете проверить его свойства, чтобы узнать, используется ли уже это имя или нет.