Kafka Connect MQTT Example

Subscribe to topics (for debugging purposes):

mqtt-cli sub -h mosquitto -t 'house/+/brightness'

Create a connector using the API:

cd kafka-connect
http :8083/connectors < requests/create-connector-mqtt-source.json
cd ..

Publish messages:

mqtt-cli pub -h mosquitto -t 'house/room/brightness' -m '800LM'
mqtt-cli pub -h mosquitto -t 'house/kitchen/brightness' -m '1000LM'

Consuming the data:

kafka-cli kafka-console-consumer --from-beginning --group kafka-connect.brightness_consumer \
                                 --topic kafka-connect.brightness  \
                                 --bootstrap-server kafka1:9092 \
                                 --property print.key=true

For deleting the connector:

http DELETE :8083/connectors/mqtt-source

Requests

requests/create-connector-mqtt-source.json

{
  "name": "mqtt-source",
  "config": {
      "connector.class": "io.confluent.connect.mqtt.MqttSourceConnector",
      "tasks.max": "1",
      "mqtt.server.uri": "tcp://mosquitto:1883",
      "mqtt.topics":"house/+/brightness",
      "kafka.topic":"kafka-connect.brightness",
      "mqtt.qos": "2",
      "confluent.topic.bootstrap.servers": "kafka1:9092",
      "confluent.topic.replication.factor": "1"
  }
}