Expand description
§faucet-sink-rabbitmq
A RabbitMQ (AMQP 0.9.1) sink for
faucet-stream, built on the pure-Rust lapin
client. Publishes each record to an exchange (the default exchange unless
configured) with a static, per-field, or JSONPath-derived routing key.
Publisher confirms are on by default: a write returns only once the broker
has acknowledged every message. With mandatory: true, an unroutable
message is returned by the broker and surfaces as a per-row error through
write_batch_partial, so it can be routed to a dead-letter queue.
Append-only: it does not override idempotency, upsert, or schema evolution (the trait defaults hold).
use faucet_sink_rabbitmq::{RabbitMqSink, RabbitMqSinkConfig};
let sink = RabbitMqSink::new(RabbitMqSinkConfig::to_queue("orders")).await?;Re-exports§
pub use config::RabbitMqSinkConfig;pub use sink::RabbitMqSink;
Modules§
- config
- Configuration for the RabbitMQ sink.
- sink
RabbitMqSink— the AMQP publisher (the one module that does I/O).
Structs§
- Rabbit
MqConnection Config - Connection settings shared by the RabbitMQ source and sink.
- Rabbit
MqTls - TLS (
amqps://) settings. Server certificates are always verified — there is no insecure mode.
Enums§
- Faucet
Error - All possible errors returned by faucet-stream.
- Rabbit
MqAuth - RabbitMQ authentication.
- Rabbit
MqExchange Kind - An AMQP exchange type, used when a connector declares an exchange.
- Rabbit
MqValue Format - How a message body maps to and from a JSON record.
Constants§
- DESCRIPTOR
- The connector’s static descriptor (RFC 0013): its capabilities, answered from config alone.
Traits§
- Sink
- A sink writes records to an external system.