Skip to main content

Crate faucet_sink_pubsub

Crate faucet_sink_pubsub 

Source
Expand description

§faucet-sink-pubsub

Google Cloud Pub/Sub sink connector for faucet-stream: batched publish to a topic with a configurable value_format (json / string / bytes), optional per-message ordering_key (field or dot-path) that enables message ordering, bounded publish concurrency, and per-message partial-failure outcomes that route to a DLQ.

Delivery is at-least-once — Pub/Sub provides no primitive that composes with faucet’s exactly-once watermark model, so this sink does not advertise idempotent writes. De-duplicate downstream on a business key carried in the payload or an attribute — the server assigns a fresh message_id to every publish, so a re-sent record never shares its id.

Structs§

PubsubConnection
Connection settings shared by the Pub/Sub source and sink. Flattened into each connector config via #[serde(flatten)], so project_id / endpoint / emulator_host / credentials appear at the config top level.
PubsubSink
Google Cloud Pub/Sub sink. See the crate README for semantics.
PubsubSinkConfig
Configuration for PubsubSink.

Enums§

OrderingKey
How each message’s ordering key is derived. When any non-empty ordering key is produced, message ordering is enabled on the publisher.
PubsubCredentials
How to authenticate with Google Cloud Pub/Sub.
ValueFormat
How each record is encoded into the Pub/Sub message data blob.

Constants§

DESCRIPTOR
The connector’s static descriptor (RFC 0013): its capabilities, answered from config alone.
MAX_BATCH
Pub/Sub caps a single Publish request at 1000 messages.