Skip to main content
The S3 sink uploads objects to S3 with durability via a local write-ahead log (WAL).
Encoding, compression, object sizing, and concurrency are configured via common sink options.

Schema

string
required
Must be set to s3.
string
required
Name of the destination S3 bucket (do not prefix with s3://).
string
AWS region for the bucket (optional).
If omitted, the AWS SDK’s default resolution is used (env vars, instance metadata, etc.).
string
Filesystem path for the sink’s write-ahead log (WAL).
Defaults to /tmp/wal.
int
Maximum age (in seconds) before a WAL file is rotated and flushed to S3.
Defaults to 60.
object
Controls how Tangent serializes records emitted by this source. See Encoding.
object
Controls how Tangent compresses payloads emitted by this source. See Compression.

Example (NDJSON + Zstd)

tangent.yaml

Example (Parquet + Gzip, Arrow schema)

tangent.yaml

Durability & Delivery

  • At-least-once delivery: records are appended to a local WAL before upload.
  • On restart or failure, the WAL is replayed and any incomplete objects are retried.
  • Rotation is triggered by size (object_max_bytes) or time (max_file_age_seconds).

See also