Important
You are viewing documentation for an older version of Confluent Platform. For the latest, click here.
MQTT Sink Connector¶
This connector connects to a MQTT broker and publishes data to the specified topics. SSL is supported. For information on how to create SSL keys and certificates see Security Tutorial. For the relevant configuration properties, see the MQTT sink connector configuration reference.
Tip
If you need to change the topic take a look at the RegexRouter transformation which can be used to change the topic name it is sent to the MQTT Server.
Note
This connector publishes using the Kafka topic name. If you need to publish to a different topic name use a transformation to change the topic name.
Examples¶
Property based example¶
This configuration is used typically along with standalone workers.
name=MqttSinkConnector1
connector.class=io.confluent.connect.mqtt.MqttSinkConnector
tasks.max=1
topics=< Required Configuration >
mqtt.server.uri=< Required Configuration >
Rest based example¶
This configuration is used typically along with distributed workers. Write the following json to connector.json, configure all of the required values, and use the command below to post the configuration to one the distributed connect worker(s). Check here for more information about the Kafka Connect Rest API
{
"config" : {
"name" : "MqttSinkConnector1",
"connector.class" : "io.confluent.connect.mqtt.MqttSinkConnector",
"tasks.max" : "1",
"topics" : "< Required Configuration >",
"mqtt.server.uri" : "< Required Configuration >"
}
}
Use curl to post the configuration to one of the Kafka Connect Workers. Change http://localhost:8083/ the the endpoint of one of your Kafka Connect worker(s).
curl -s -X POST -H 'Content-Type: application/json' --data @connector.json http://localhost:8083/connectors
curl -s -X PUT -H 'Content-Type: application/json' --data @connector.json http://localhost:8083/connectors/MqttSinkConnector1/config