final class atoti_directquery_snowflake.ConnectionConfig
Config to connect to a Snowflake database.Example
array_agg_wrapper_function_name : str | None = None
The name of the User Defined Function to use to wrap the aggregations on arrays to improve performance. This function must be defined in Snowflake and accessible to the role running the queries.auto_multi_column_array_conversion : AutoMultiColumnArrayConversion | None = None
When notNone, 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.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_providersandhierarchies; - the refresh operations.
feeding_warehouse_name : str | None = None
The name of the warehouse to use for the initial feeding. IfNone, the main warehouse will be used.
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.main_warehouse_name : str | None = None
The name of the warehouse to use for all other queries than the ones handled by thefeeding warehouse.
If None, the warehouse defined in :attr: url will be used.
If :attr: url does not specify a warehouse, the user’s default warehouse will be used.
max_sub_queries : Annotated[int, Field(gt=0)] = 500
Maximum number of sub queries performed when splitting a query into multi-step queries.password : RedactedStr | None = None
The password to connect to the database. Passing it in this separate attribute keeps it out of the connection string, and arepr() shows <redacted> in place of it.
The connection string reaches Atoti’s logs; this attribute does not.
A property named in redacted_properties for the same purpose takes precedence
over this attribute.
If None, a password is expected to be present in url.
query_timeout : Duration = datetime.timedelta(seconds=300)
Timeout for queries performed on the external database outside feeding phases.redacted_properties : FrozenMapping[str, RedactedStr]
The driver properties whose values must not be logged. A property carrying or locating a secret, such as a password, the passphrase of a private key or an OAuth client secret, goes here rather than inurl.
Atoti keeps these values out of its logs, and a repr() shows each name with
<redacted> in place of its value, so the properties that are set can be seen without
the secrets they carry.
A connection string offers neither assurance.
Every other property, including the one selecting the authentication method, belongs
in url.
The accepted names are the ones this database’s own driver documents.
A driver enumerating the properties it accepts rejects a name it does not know
rather than ignoring it.
A property named here takes precedence over password, which remains the way
to pass a password without naming the driver’s own property for it.
The driver decides what it writes to its own logs.
This attribute keeps a secret out of Atoti’s logs, not out of every log.
time_travel : bool = True
Whether to use time travel in queries.url : str
The JDBC connection string. Iffeeding_warehouse_name is not None, the warehouse cannot be specified in the URL.
See https://docs.snowflake.com/en/user-guide/jdbc-configure.html#jdbc-driver-connection-string for more information.