RabbitMQ
Synopsis
Creates a consumer that connects to RabbitMQ servers and consumes messages from specified exchanges and queues. Supports multiple authentication methods, exchange types, TLS encryption, and multiple workers with automatic message acknowledgment.
Schema
- id: <numeric>
name: <string>
description: <string>
type: rabbitmq
tags: <string[]>
pipelines: <pipeline[]>
status: <boolean>
properties:
address: <string>
port: <numeric>
username: <string>
password: <string>
authentication: <string>
exchange:
name: <string>
type: <string>
queue:
name: <string>
key: <string>
reuse: <boolean>
workers: <numeric>
buffer_size: <numeric>
tls:
status: <boolean>
cert_name: <string>
key_name: <string>
Configuration
The following fields are used to define the device:
Device
| Field | Required | Default | Description |
|---|---|---|---|
id | Y | Unique identifier | |
name | Y | Device name | |
description | N | - | Optional description |
type | Y | Must be rabbitmq | |
tags | N | - | Optional tags |
pipelines | N | - | Optional pre-processor pipelines |
status | N | true | Enable/disable the device |
Connection
| Field | Required | Default | Description |
|---|---|---|---|
address | N | "0.0.0.0" | RabbitMQ server address |
port | Y | RabbitMQ server port | |
username | N | - | Authentication username |
password | N | - | Authentication password |
authentication | Y | Auth type (plain, amqplain) |
Exchange
| Field | Required | Default | Description |
|---|---|---|---|
exchange.name | Y | Exchange name | |
exchange.type | Y | Exchange type (direct, fanout, topic, x-custom) |
Queue
| Field | Required | Default | Description |
|---|---|---|---|
queue.name | Y | Queue name | |
queue.key | Y | Routing key pattern |
TLS
| Field | Required | Default | Description |
|---|---|---|---|
tls.status | N | false | Enable TLS encryption |
tls.cert_name | Y | TLS certificate file path (required if TLS enabled) | |
tls.key_name | Y | TLS private key file path (required if TLS enabled) |
note
The TLS certificate and key files must be placed in the service root directory.