Создайте соединитель 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"]

Как только вы получите имя активного соединителя, вы можете проверить его свойства, чтобы узнать, используется ли уже это имя или нет.

Другие вопросы по тегам