Skip to main content

Crate faucet_sink_rabbitmq

Crate faucet_sink_rabbitmq 

Source
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§

RabbitMqConnectionConfig
Connection settings shared by the RabbitMQ source and sink.
RabbitMqTls
TLS (amqps://) settings. Server certificates are always verified — there is no insecure mode.

Enums§

FaucetError
All possible errors returned by faucet-stream.
RabbitMqAuth
RabbitMQ authentication.
RabbitMqExchangeKind
An AMQP exchange type, used when a connector declares an exchange.
RabbitMqValueFormat
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.