Configuration reference#

Every option each connector takes, with its default, in one place per connector.

PageSurface
BigQueryThe sink builder, the three write methods’ options objects, table creation and schema updates, and the three serializers’ schema options
Cloud Pub/SubThe sink and source builders, publisher and subscriber tuning, topic and subscription creation
Cloud TasksThe sink builder and the writer’s in-flight cap and retry budgets
BigtableThe sink builder and the writer’s batch thresholds and in-flight bounds, and the source builder’s ranges, prefixes and filter
SpannerThe sink builder, the writer’s batch limits, commit delay, RPC priority and retry budget

These pages answer what; the connector pages answer why. A row here gives you the option’s name, its default and one line on what it does. The reasoning behind a default — why maxInflightRequests departs from the SDK’s own, why ordering is off, why the Cloud Tasks sink has no rate knobs at all — stays on the /flink-connector-gcp/1.0/docs/connectors/ page it belongs to, and each section below links to it.

Two surfaces are documented elsewhere, deliberately. The SQL connector pages — BigQuery, Pub/Sub, Cloud Tasks, Bigtable and Spanner — carry the full WITH option surface: most SQL options exist where a builder setter does and the mapping between them is the thing worth reading, and the table-owned selectors with no builder counterpart — a scan.mode, a schema mapping — are documented nowhere else. And every type named here — including the enums, the destination types and the SPIs an option takes — is in the Java API reference, generated from the source.

What a default means#

Three kinds of entry appear in the Default column, and the difference matters:

EntryMeaning
A valueThe connector’s own default, applied when you do not set the option
requiredThe builder rejects a sink or source built without it
unset ⇒ …The connector sets nothing, so the client library’s or the service’s own default applies. The named value is that default, recorded here for sizing rather than enforced by this project — it can change under a dependency bump

The last row is why an options object’s defaults() is equivalent to not passing one at all: it holds no values of its own for those knobs.