Connettore AMQP
Panoramica
Sezione intitolata “Panoramica”Il connettore AMQP abilita messaggistica publish/subscribe tramite RabbitMQ e qualsiasi broker AMQP 0.9.1, con exchange, code e routing key.
Tipi Connettore:
AmqpReader- Consuma messaggi da una coda o binding di exchangeAmqpWriter- Pubblica messaggi a un exchange con una routing key
AMQP Reader
Sezione intitolata “AMQP Reader”Consuma messaggi da una coda esistente:
{ "type": "AmqpReader", "config": { "url": "amqp://guest:guest@localhost:5672/", "queue": "sensor_events", "autoAck": false, "prefetchCount": 10, "consumerTag": "meddle-reader" }}Bind a un Exchange
Sezione intitolata “Bind a un Exchange”Quando queue è vuoto e exchange è impostato, il reader dichiara una coda esclusiva temporanea e la lega all’exchange usando routingKey:
{ "type": "AmqpReader", "config": { "url": "amqp://user:password@rabbit.example.com:5672/", "exchange": "factory.events", "routingKey": "line1.*.temperature", "autoAck": true }}Connessione TLS
Sezione intitolata “Connessione TLS”{ "type": "AmqpReader", "config": { "url": "amqps://user:password@rabbit.example.com:5671/", "queue": "secure_events", "tls": true, "autoAck": false }}AMQP Writer
Sezione intitolata “AMQP Writer”Pubblica messaggi a un exchange:
{ "type": "AmqpWriter", "config": { "url": "amqp://guest:guest@localhost:5672/", "exchange": "factory.events", "routingKey": "line1.temperature", "mandatory": false, "contentType": "application/json" }}Pubblica all’Exchange Default (Coda Direttamente)
Sezione intitolata “Pubblica all’Exchange Default (Coda Direttamente)”Lascia exchange vuoto e usa il nome della coda come routing key:
{ "type": "AmqpWriter", "config": { "url": "amqp://guest:guest@localhost:5672/", "exchange": "", "routingKey": "sensor_events" }}Parametri di Configurazione
Sezione intitolata “Parametri di Configurazione”- url: URI di connessione AMQP (
amqp://user:pass@host:port/vhostoamqps://...) - exchange: Nome dell’exchange (stringa vuota punta all’exchange default)
- queue: Nome della coda da cui consumare (solo Reader)
- routingKey: Routing key o pattern di binding
- tls: Usa TLS per la connessione
- prefetchCount: (Reader) Massimo numero di messaggi non riconosciuti sul canale
- autoAck: (Reader) Riconoscimento automatico dei messaggi alla consegna
- consumerTag: (Reader) Identificatore consumer fornito dal client
- mandatory: (Writer) Restituisce il messaggio al publisher se non può essere instradato
- contentType: (Writer) Tipo MIME per i messaggi pubblicati (default:
application/json)
Modalità di Riconoscimento
Sezione intitolata “Modalità di Riconoscimento”- autoAck: true - Il broker considera i messaggi consegnati non appena vengono inviati. Più veloce ma i messaggi possono andare persi al crash del consumer.
- autoAck: false - Meddle riconosce esplicitamente ogni messaggio riuscito e fa nack su errori del payload. Usalo con
prefetchCountper limitare i messaggi in volo.
Pattern di Routing Key
Sezione intitolata “Pattern di Routing Key”Gli exchange topic supportano wildcard nelle chiavi di binding:
*corrisponde esattamente a una parola:line1.*.temperature#corrisponde a zero o più parole:factory.#