MQTT
MQTT (mqtt)
Publish events to external MQTT brokers or an embedded broker instance.
Messaging binary json raw
Minimal example
output: mqtt: broker: {} client: endpoint: ""JSON
{ "output": { "mqtt": { "broker": {}, "client": { "endpoint": "" } } }}Contents
Fields
| Field | Type | Required | Description |
|---|---|---|---|
client | Client | ✅ | Publish to an external MQTT broker. |
broker | Broker | ✅ | Publish into an embedded broker that serves downstream subscribers. |
Schema
- Client - Retry Fields
- Client - Tls Fields
- Client - Dead Letter Fields
- Client Fields
- Broker - Retry Fields
- Broker - Listeners Fields
- Broker Fields
- Client - Protocol Options
- Client - Payload Mode Options
- Broker - Payload Mode Options
Client - Retry Fields
| Field | Type | Required | Description |
|---|---|---|---|
timeout | time-interval (string) | ✅ | timeout (e.g. 500ms, 2s etc. - default is 30). Examples: 500ms, 2h |
retries | number (integer) | number of retries. Examples: 42, 1.2e-10 |
Client - Tls Fields
| Field | Type | Required | Description |
|---|---|---|---|
ca-certificate | string | Optional CA certificate (PEM encoded). | |
client-certificate | string | Optional client certificate (PEM encoded). | |
client-key | string | Optional client private key (PEM encoded). |
Client - Dead Letter Fields
| Field | Type | Required | Description |
|---|---|---|---|
topic | string | ✅ | Topic to publish failed messages to once retries are exhausted. |
qos | number | QoS level for dead-letter publishes (0 or 1). | |
retain | boolean (bool) | Whether the dead-letter publish should retain the message. |
Client Fields
| Field | Type | Required | Description |
|---|---|---|---|
retry | Retry | Retry policy for publish failures. | |
endpoint | hostname (string) | ✅ | Broker endpoint URI (e.g. mqtt://broker:1883 or mqtts://broker:8883). Examples: example.com, localhost |
protocol | Protocol | MQTT protocol version used for publishing. Allowed values: v3, v5 | |
client-id | string | Optional client identifier override. | |
keep-alive-secs | number (integer) | Keep-alive interval in seconds. Examples: 42, 1.2e-10 | |
clean-session | boolean (bool) | Whether to request a clean session on connect. | |
username | string | Optional username for broker authentication. | |
password | string | Optional password for broker authentication. | |
tls | Tls | TLS material for secure connections. | |
request-channel-capacity | number (integer) | Request channel capacity for the client worker. Examples: 42, 1.2e-10 | |
inflight | number (integer) | Maximum inflight window for QoS1 publishes. Examples: 42, 1.2e-10 | |
qos | number | Publish QoS level (0 or 1). | |
retain | boolean (bool) | Whether publishes should set the retain flag. | |
topic | string | Static topic to publish to when dynamic selectors are absent. | |
topic-field | field (string) | Event field to resolve the topic from at runtime. Examples: data_field | |
topic-pointer | json-pointer (string) | JSON pointer to resolve the topic from at runtime. | |
payload-mode | Payload Mode | Controls how event payloads are encoded prior to publish. Allowed values: auto, json, raw, binary | |
pool-size | number (integer) | Number of MQTT client connections maintained for parallel publishing. Examples: 42, 1.2e-10 | |
response-topic | string | Optional response topic for MQTT v5 publishes. | |
correlation-data | string | Optional correlation data (base64 encoded) for MQTT v5 publishes. | |
message-expiry-interval-secs | number (integer) | Optional message expiry interval (seconds) for MQTT v5 publishes. Examples: 42, 1.2e-10 | |
dead-letter | Dead Letter | Dead-letter behaviour when retries are exhausted. |
Broker - Retry Fields
| Field | Type | Required | Description |
|---|---|---|---|
timeout | time-interval (string) | ✅ | timeout (e.g. 500ms, 2s etc. - default is 30). Examples: 500ms, 2h |
retries | number (integer) | number of retries. Examples: 42, 1.2e-10 |
Broker - Listeners Fields
| Field | Type | Required | Description |
|---|---|---|---|
bind | hostname (string) | ✅ | Socket address in host:port form for the embedded broker listener. Examples: example.com, localhost |
tls | boolean (bool) | Whether TLS should be enabled for this listener (placeholder). |
Broker Fields
| Field | Type | Required | Description |
|---|---|---|---|
retry | Retry | Retry policy applied before surfacing broker publish failures. | |
qos | number | Publish QoS level (0 or 1). | |
retain | boolean (bool) | Whether embedded broker publishes should set the retain flag. | |
topic | string | Static topic used when dynamic selectors are absent. | |
topic-field | field (string) | Event field to resolve the topic from. Examples: data_field | |
topic-pointer | json-pointer (string) | JSON pointer to resolve the topic from. | |
payload-mode | Payload Mode | Controls how payloads are encoded prior to publish. Allowed values: auto, json, raw, binary | |
listeners | Listeners[] | Listener surfaces to bind for the embedded broker. | |
persistence-path | string | Optional on-disk directory for broker persistence (defaults to job data dir). | |
topic-prefix | string | Optional prefix applied to topics before publishing into the embedded broker. | |
worker-threads | number (integer) | Number of worker threads dedicated to the embedded broker runtime. Examples: 42, 1.2e-10 |
Client - Protocol Options
| Value | Description |
|---|---|
v3 | V3 |
v5 | V5 |
Client - Payload Mode Options
| Value | Description |
|---|---|
auto | Auto |
json | Json |
raw | Raw |
binary | Binary |
Broker - Payload Mode Options
| Value | Description |
|---|---|
auto | Auto |
json | Json |
raw | Raw |
binary | Binary |