atoti_directquery_bigquery.ConnectionConfig#

final class atoti_directquery_bigquery.ConnectionConfig#

Config to connect to a BigQuery database.

Example

>>> from atoti_directquery_bigquery import ConnectionConfig
>>> connection_config = ConnectionConfig()
>>> external_database = session.connect_to_external_database(connection_config)
auto_multi_column_array_conversion: AutoMultiColumnArrayConversion | None = None#

When not None, multi-column array conversion will be performed automatically.

cache: bool = True#

Whether to look for query results in the external database query cache.

column_clustered_queries: 'all' | 'feeding' = 'feeding'#

Control which queries will use clustering columns.

credentials: Path | None = None#

The path to the BigQuery credentials file.

If None, the application default credentials will be used.

feeding_query_timeout: Duration = datetime.timedelta(seconds=3600)#

Timeout for queries performed on the external database during feeding phases.

The feeding phases are:

lookup_mode: 'allow' | 'warn' | 'deny' = 'warn'#

Whether lookup queries on the external database are allowed.

Lookup can be very slow and expensive as the database may not enforce primary keys.

max_sub_queries: Annotated[int, Field(gt=0)] = 500#

Maximum number of sub queries performed when splitting a query into multi-step queries.

query_timeout: Duration = datetime.timedelta(seconds=300)#

Timeout for queries performed on the external database outside feeding phases.

time_travel: bool = True#

Whether to use time travel in queries.