46. Snowflake
46.1. Snowflake Version Support
The driver enables standards-based access to all Snowflake editions.
 
46.2. Connection Options
46.2.1. Authentication
Property
Description
AuthScheme
The authentication scheme used. Accepted entries are Password, OKTA, PrivateKey, AzureAD, OAuth, or PingFederate.
Account
The Account provided for authentication with Snowflake database. This is usually derived from the URL automatically.
Warehouse
The name of the Snowflake warehouse.
User
The username provided for authentication with the Snowflake database.
Password
The user's password.
URL
The URL of Snowflake database.
MFAPasscode
Specifies the passcode to use for multi-factor authentication.
RoleName
The role of the Snowflake user: PUBLIC, SYSADMIN, or ACCOUNTADMIN.
CredentialsLocation
The location of the settings file where credentials are saved.
46.2.2. Connection
Property
Description
UseVirtualHosting
If true (default), buckets will be referenced in the request using the hosted-style request: http://yourbucket.s3.amazonaws.com/yourobject. If set to false, the bean will use the path-style request: http://s3.amazonaws.com/yourbucket/yourobject. Note that this property will be set to false, in case of an S3 based custom service when the CustomURL is specified.
46.2.3. Azure Authentication
Property
Description
AzureTenant
The Microsoft Online tenant being used to access data. If not specified, your default tentant will be used.
46.2.4. SSO
Property
Description
ProofKey
The ProofKey for authentication with Snowflake database. This is usually derived from GetSSOAuthorizationURL call.
ExternalToken
The External Token for authentication with the Snowflake database. This is usually derived from the external handler. For example, handle the callback URL from procedure GetSSOAuthorizationURL will get this token.
SSOProperties
Additional properties required to connect to the identity provider in a semicolon-separated list.
46.2.5. KeyPairAuth
Property
Description
PrivateKey
The private key provided for key pair authentication with Snowflake.
PrivateKeyPassword
The password for the private key specified in the PrivateKey property, if required.
PrivateKeyType
The type of key store containing the private key to use with key pair authentication.
46.2.6. OAuth
Property
Description
InitiateOAuth
Set this property to initiate the process to obtain or refresh the OAuth access token when you connect.
OAuthClientId
The client ID assigned when you register your application with an OAuth authorization server.
OAuthClientSecret
The client secret assigned when you register your application with an OAuth authorization server.
OAuthAccessToken
The access token for connecting using OAuth.
CallbackURL
The OAuth callback URL to return to when authenticating. This value must match the callback URL you specify in your Add-In settings.
State
An optional value that has meaning for your OAuth App.
OAuthSettingsLocation
The location of the settings file where OAuth values are saved when InitiateOAuth is set to GETANDREFRESH or REFRESH. Alternatively, this can be held in memory by specifying a value starting with memory://.
OAuthAuthenticator
This determines the authenticator that the OAuth application requests from Snowflake.
Scope
This determines the scopes that the OAuth application requests from Snowflake.
OAuthAuthorizationURL
The authorization URL for the OAuth service.
OAuthAccessTokenURL
The URL to retrieve the OAuth access token from.
OAuthVerifier
The verifier code returned from the OAuth authorization URL.
PKCEVerifier
A random value used as input for calling GetOAuthAccessToken in the PKCE flow.
OAuthRefreshToken
The OAuth refresh token for the corresponding OAuth access token.
OAuthExpiresIn
The lifetime in seconds of the OAuth AccessToken.
OAuthTokenTimestamp
The Unix epoch timestamp in milliseconds when the current Access Token was created.
46.2.7. SSL
Property
Description
SSLServerCert
The certificate to be accepted from the server when connecting using TLS/SSL.
46.2.8. Firewall
Property
Description
FirewallType
The protocol used by a proxy-based firewall.
FirewallServer
The name or IP address of a proxy-based firewall.
FirewallPort
The TCP port for a proxy-based firewall.
FirewallUser
The user name to use to authenticate with a proxy-based firewall.
FirewallPassword
A password used to authenticate to a proxy-based firewall.
46.2.9. Proxy
Property
Description
ProxyAutoDetect
This indicates whether to use the system proxy settings or not. This takes precedence over other proxy settings, so you'll need to set ProxyAutoDetect to FALSE in order use custom proxy settings.
ProxyServer
The hostname or IP address of a proxy to route HTTP traffic through.
ProxyPort
The TCP port the ProxyServer proxy is running on.
ProxyAuthScheme
The authentication type to use to authenticate to the ProxyServer proxy.
ProxyUser
A user name to be used to authenticate to the ProxyServer proxy.
ProxyPassword
A password to be used to authenticate to the ProxyServer proxy.
ProxySSLType
The SSL type to use when connecting to the ProxyServer proxy.
ProxyExceptions
A semicolon separated list of destination hostnames or IPs that are exempt from connecting through the ProxyServer .
46.2.10. Logging
Property
Description
Logfile
A filepath which designates the name and location of the log file.
Verbosity
The verbosity level that determines the amount of detail included in the log file.
LogModules
Core modules to be included in the log file.
MaxLogFileSize
A string specifying the maximum size in bytes for a log file (for example, 10 MB).
MaxLogFileCount
A string specifying the maximum file count of log files.
46.2.11. Schema
Property
Description
Location
A path to the directory that contains the schema files defining tables, views, and stored procedures.
BrowsableSchemas
This property restricts the schemas reported to a subset of the available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC.
Tables
This property restricts the tables reported to a subset of the available tables. For example, Tables=TableA,TableB,TableC.
Views
Restricts the views reported to a subset of the available tables. For example, Views=ViewA,ViewB,ViewC.
Database
The name of the Snowflake database.
Schema
The schema of the Snowflake database.
46.2.12. Caching
Property
Description
AutoCache
Automatically caches the results of SELECT queries into a cache database specified by either CacheLocation or both of CacheConnection and CacheProvider .
CacheDriver
The database driver to be used to cache data.
CacheConnection
The connection string for the cache database. This property is always used in conjunction with CacheProvider . Setting both properties will override the value set for CacheLocation for caching data.
CacheLocation
Specifies the path to the cache when caching to a file.
CacheTolerance
The tolerance for stale data in the cache specified in seconds when using AutoCache.
Offline
Use offline mode to get the data from the cache instead of the live source.
CacheMetadata
This property determines whether or not to cache the table metadata to a file store.
46.2.13. Miscellaneous
Property
Description
AllowPreparedStatement
Prepare a query statement before its execution.
ApplicationName
The application name connection string property expresses the HTTP User-Agent.
AsyncQueryTimeout
The timeout for asynchronous requests issued by the provider to download large result sets.
BatchSize
The maximum size of each batch operation to submit.
ConnectionLifeTime
The maximum lifetime of a connection in seconds. Once the time has elapsed, the connection object is disposed.
ConnectOnOpen
This property species whether to connect to the Snowflake when the connection is opened.
CustomStage
The name of a custom stage to use during bulk write operations.
EnableArrow
Whether to support Apache Arrow.
ExternalStageAWSAccessKey
Your AWS account access key. Only used when defining a CustomStage for bulk write operations.
ExternalStageAWSSecretKey
Your AWS account secret key. Only used when defining a CustomStage for bulk write operations.
ExternalStageAzureSASToken
The string value of the Azure Blob shared access signature.
IgnoreCase
Whether to ignore case in identifiers. Default: false.
IncludeTableTypes
If set to true, the provider will report the types of individual tables and views.
MaxRows
Limits the number of rows returned rows when no aggregation or group by is used in the query. This helps avoid performance issues at design time.
MaxThreads
Specifies the number of concurrent requests.
MergeDelete
A boolean indicating whether batch DELETE statements should be converted to MERGE statements automatically. Only used when the DELETE statement's where clause contains a table's primary key field only and they are combined with AND logical operator.
MergeInsert
A boolean indicating whether INSERT statements should be converted to MERGE statements automatically. Only used when the INSERT contains a table's primary key field.
MergeUpdate
A boolean indicating whether batch UPDATE statements should be converted to MERGE statements automatically. Only used when the UPDATE statement's where clause contains a table's primary key field only and they are combined with AND logical operator.
Other
These hidden properties are used only in specific use cases.
Pagesize
The maximum number of results to return per page from Snowflake.
PoolIdleTimeout
The allowed idle time for a connection before it is closed.
PoolMaxSize
The maximum connections in the pool.
PoolMinSize
The minimum number of connections in the pool.
PoolWaitTime
The max seconds to wait for an available connection.
PseudoColumns
This property indicates whether or not to include pseudo columns as columns to the table.
QueryPassthrough
This option passes the query to the Snowflake server as is.
Readonly
You can use this property to enforce read-only access to Snowflake from the provider.
ReplaceInvalidUTF8Chars
Specifies whether to repalce invalid UTF8 characters with a '?'.
RetryOnS3Timeout
Whether or not to retry when network issues occur at during chunk downloading.
RTK
The runtime key used for licensing.
SessionParameters
The session parameters for Snowflake. For example: SessionParameters='QUERY_TAG=MyTag;QUOTED_IDENTIFIERS_IGNORE_CASE=True;';.
SupportEnhancedSQL
This property enhances SQL functionality beyond what can be supported through the API directly, by enabling in-memory client-side processing.
Timeout
The value in seconds until the timeout error is thrown, canceling the operation.
UseAsyncQuery
This field sets whether async query is enabled.
UseConnectionPooling
This property enables connection pooling.