atoti_directquery_synapse.ConnectionConfig#
- final class atoti_directquery_synapse.ConnectionConfig#
Config to connect to a Synapse database.
- auto_multi_column_array_conversion: AutoMultiColumnArrayConversion | None = None#
When not
None
, multi-column array conversion will be performed automatically.
- column_clustered_queries: 'all' | 'feeding' = 'feeding'#
Control which queries will use clustering columns.
- feeding_query_timeout: Duration = datetime.timedelta(seconds=3600)#
Timeout for queries performed on the external database during feeding phases.
The feeding phases are:
the initial load to feed
aggregate_providers
andhierarchies
;the refresh operations.
- 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.
- password: str | None = None#
The password to connect to the database.
Passing it in this separate attribute prevents it from being logged alongside the connection string.
If
None
, a password is expected to be present inurl
.
- query_timeout: Duration = datetime.timedelta(seconds=300)#
Timeout for queries performed on the external database outside feeding phases.
- url: str#
The JDBC connection string.
See https://docs.microsoft.com/en-us/azure/synapse-analytics/sql/connection-strings#sample-jdbc-connection-string for more information.
Example
>>> import os >>> from atoti_directquery_synapse import ConnectionConfig >>> connection_config = ConnectionConfig( ... url="jdbc:sqlserver://" ... + account_identifier ... + ".sql.azuresynapse.net;authentication=" ... + os.environ["SYNAPSE_AUTHENTICATION_METHOD"] ... + ";user=" ... + os.environ["SYNAPSE_USERNAME"], ... password=os.environ["SYNAPSE_PASSWORD"], ... ) >>> external_database = session.connect_to_external_database(connection_config)