当我尝试创建一个通过rest调用已在使用的名称的kafka连接器时,出现错误消息,
{“错误代码”:409,“消息”:“连接器测试已存在”}
例如,在创建kafka Topic时,我想绕过此错误,
./kafka-topics **--if-not-exists** --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
创建kafka连接器时,我们是否有类似--if-not-exists
的东西?
答案 0 :(得分:0)
没有直接方法,但是您始终可以使用自定义脚本来适应验证。 您可以使用REST API来查询活动的连接器,如下所示。
curl localhost:8083/connectors // will return the active connectors on worker
["local-file-sink1", "db-sink1"]
一旦获得活动连接器的名称,就可以对连接器属性进行验证,以查看该名称是否已被使用。
答案 1 :(得分:0)
我喜欢这样做的方式是将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
内容,如docs示例中所示。