Создайте соединитель kafka с именем, которое еще не используется - PullRequest
0 голосов
/ 08 января 2019

Когда я пытаюсь создать соединитель kafka с именем, которое уже используется через rest rest, я получаю сообщение об ошибке,

{"error_code": 409, "message": "Тест соединителя уже существует"}

Я хочу обойти эту ошибку, например при создании кафки В теме у нас что-то вроде ниже,

./kafka-topics **--if-not-exists**  --create --zookeeper localhost:2181 --replication-factor  1 --partitions 1  --topic test

Есть ли у нас что-то вроде --if-not-exists при создании коннекторов kafka?

Ответы [ 2 ]

0 голосов
/ 08 января 2019

Как мне нравится это делать, использовать метод 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#put--connectors-(string-name)-config

Обратите внимание, что ваша json полезная нагрузка не должна содержать name и config, а только содержимое config, как в примере с документами.

0 голосов
/ 08 января 2019

Прямого пути нет, но вы всегда можете использовать пользовательские сценарии для проверки. Вы можете использовать REST API для запроса активных соединителей, как показано ниже.

 curl localhost:8083/connectors  // will return the active connectors on worker
 ["local-file-sink1", "db-sink1"]

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

...