我正在尝试使用Kafka将MQTT消息发送到不同的主题。 我正在使用Confluent MqttSinkConnector,并且我的连接器配置看起来像这样
{
"name" : "mqttSinkConnector",
"config" : {
"connector.class": "io.confluent.connect.mqtt.MqttSinkConnector",
"tasks.max": "1",
"mqtt.server.uri": "tcp://mqttServer:1883",
"topics":"mqttSink",
"mqtt.qos": "1",
"mqtt.username": "user",
"mqtt.password": "pass",
"key.converter": "org.apache.kafka.connect.storage.StringConverter",
"value.converter": "org.apache.kafka.connect.storage.StringConverter",
"confluent.topic.bootstrap.servers": "kafkaServer:9092",
"confluent.topic.replication.factor": "1"
}}
我正在使用不同的密钥将测试消息发送到Kafka的“ mqttSink”主题,但是它们最终都在Mqtt代理的“ mqttSink”主题中。据我了解,它应该已经落入“ / t1”主题。有什么方法可以在Kafka中发布到不同的Mqtt主题。
我尝试过的测试生产者;
# python confluent-kafka producer
p.produce('mqttSink', value=testStr, key=b'/t1')
# python kafka producer
producer.send("mqttSink",key=b'/t1', value=testStr).get(timeout=30)