Skip to content

MQTT Sink

This sink is used to publish output messages to the MQTT server. If you want to use the MQTT Sink connector, click Data Processing -> Rules -> Create Rule, in the Action area, click Add, **Sink ** Select MQTT.

Sink configuration

On the page that pops up, make the following settings:

  • MQTT broker address: The server of the MQTT message broker, such as tcp://127.0.0.1:1883
  • MQTT topic: The MQTT topic to be subscribed to, for example topic1.
  • MQTT ClientID: Client ID of the MQTT connection. If not specified, a uuid will be used.
  • MQTT protocol version: MQTT protocol version, supports 3.1 or 3.1.1, the default is 3.1.1.
  • QoS: The default QoS level is 0, optional values: 0, 1, 2.
  • retained: If retained is set to true, the Broker will store the last retained message of each Topic and its Qos. The default value is false.
  • Username: Optional parameter, MQTT connection username.
  • Password: Optional parameter, MQTT connection password.
  • Certification Path: Optional parameter, fill in the certificate path, which can be an absolute path or a relative path. If a relative path is specified, the parent directory is the path where the neuronex command is executed. Example value: /var/xyz-certificate.pem.
  • Private key path: Optional parameter, which can be an absolute path or a relative path. Example value: /var/xyz-private.pem.key.
  • Root Ca Path: Optional parameter to verify the server certificate. It can be an absolute path or a relative path. Example value: /var/xyz-rootca.pem.
  • Skip certification verification: Defaults to False. If set to True, certificate verification will be skipped, otherwise certificate verification will be performed.
  • Compression: Leave blank by default to not decompress. Decompress MQTT Payload using the specified compression method, optional values: zlib, gzip, flate.
  • Omit if content is empty: Default is False.
  • Send single: Default is True.
  • Stream format: supports json, binary, protobuf, delimited, custom. Default json format.
    • If you select protobuf or custom, you should also configure the corresponding [mode and mode message] (../config.md#mode)
    • If you select delimited, you should also configure the delimiter, such as ","
  • Data template: Golang template, used to specify the output data format. If no data template is specified, the data will be used as raw input. For a detailed introduction to data templates, see Data Template.

After completing the settings, you can click Test Connection to confirm the connection. Finally click Submit to complete the settings.

Example

The following is an example of using MQTT Sink to connect to EMQX.

sink_mqtt