Skip to main content

faucet_sink_redshift/
lib.rs

1#![cfg_attr(docsrs, feature(doc_cfg))]
2
3//! # faucet-sink-redshift
4//!
5//! Amazon Redshift sink connector for the faucet-stream ecosystem.
6//!
7//! Two load paths, chosen by `write_strategy`:
8//! - **`copy`** (default) — stage each page to S3 (JSONL or CSV) and bulk-load
9//!   it with `COPY … FROM 's3://…' IAM_ROLE '…'`, then delete the staged object.
10//!   Redshift's recommended, fastest bulk-load path.
11//! - **`insert`** — multi-row `INSERT INTO … VALUES (…), (…)`. Portable and
12//!   needs no S3, but slower for bulk data.
13//!
14//! Append-only: Redshift has no `ON CONFLICT` and `COPY` cannot upsert.
15
16pub mod config;
17pub mod copy;
18mod descriptor;
19pub mod sink;
20
21pub use faucet_core::{FaucetError, Sink};
22
23pub use config::{RedshiftCopyFormat, RedshiftSinkConfig, RedshiftWriteStrategy};
24pub use descriptor::DESCRIPTOR;
25pub use faucet_common_redshift::{RedshiftConnection, RedshiftCredentials, RedshiftTlsMode};
26pub use sink::RedshiftSink;