On this Page
Table of Contents | ||||||
---|---|---|---|---|---|---|
|
This account is used by Snaps in the Snowflake Snap Pack.
You can create an account from SnapLogic Designer or Manager. In Designer, when working on pipelines, every Snap that needs an account prompts you to create a new account or use an existing account. The accounts can be created in or used from:
Account Configuration
In Manager, you can navigate to the required folder and create an account in it (see Accounts). To create an account for Snowflake:
- Click Create, then select Snowflake > Snowflake S3 Database Account or Snowflake > Snowflake S3 Dynamic Account or Snowflake Azure Database Account.
- Supply an account label.
- Supply the Account properties and Advanced properties for your Snowflake Database account. When using Snowflake S3 Dynamic Account, you can specify the Account properties as expressions referencing pipeline parameters.
- (Optional) Supply additional information on this account in the Notes field of the Info tab.
- Click Apply.
Warning |
---|
Avoid changing account credentials while pipelines using them are in progress. This may lead to unexpected results, including locking the account. |
You can Validate an account connection when creating a Snowflake S3 Database Account but not when creating a Snowflake S3 Dynamic Account because the account properties of a dynamic account are provided dynamically as pipeline parameters.
The difference between Snowflake S3 Database Account and Snowflake S3 Dynamic Account is that in the latter you can specify the Account properties as expressions referencing pipeline parameters. For information on setting up a Snowflake Dynamic Account, see Using Pipeline Parameters in Account Configuration, below.
Note |
---|
For details on account encryption, see Using Account Encryption, below. |
Account Types
Snowflake Azure Database Account
title | Account Settings |
---|
Note |
---|
You can use the Snowflake Azure Account option to create both standard and dynamic accounts. If you want to enter a dynamic value for a specific field, click the '=' button adjacent to the concerned field, and you can use expressions in the field to specify dynamic values as required. |
Account Settings
Label
Required. The name for the account.
Default value: None.
Account properties
Required. The information required to create the account.
JDBC jars
Required. The list of JDBC jars to be loaded (Snowflake JDBC jar 3.0.0 or higher).
Note |
---|
The Snowflake account has been tested for version 3.6.17 JDBC jar. |
Example: snowflake-jdbc-3.6.17.jar
Default value: None.
Hostname
Required. The hostname of the Snowflake server to which you want to connect the new account.
Example: demo.snowflake.net
Default value: None.
Port Number
Required. The port number associated with the Snowflake database server that you want to use for this account.
Default value: 443
Username
The username that you want to use to connect to the database server.
Example: testuser
Default value: None.
Password
The password associated with the username specified above. This will be used as the default password while retrieving connections.
Default value: None.
Database name
Required. The name of the database to which you want to connect.
Example: testdb
Default value: None.
Warehouse name
Required. The name of the warehouse to which you want to connect.
Example: testwh
Default value: None.
The fully-qualified name of the JDBC driver class to be used for connecting to the server.
Example: net.snowflake.client.jdbc.SnowflakeDriver
Default value: com.snowflake.client.jdbc.SnowflakeDriver
Azure storage account name
The name of the instance of the Azure storage account.
Example: testazurestorage
Default value: None.
Azure storage account key
The key needed to connect to the instance of the Azure storage account listed above.
You can use either of the two keys available in the Access Key tab of the dashboard in the Azure portal to populate this value.
Default value: None.
Container
The name of the Azure storage blob container that you want to use for hosting files.
Example: Container1
Default value: None.
Path
The location of the folder in the container listed above where you want to host files.
Example: Folder1/SubFolder1
Default value: None.
The method of supplying the SAS token to the Snaps. You can choose between the following two options:
User Supplied: Choose this option if you intend to manually enter the shared access token signature.
Note |
---|
If you opt for the User Supplied option, then you need to ensure that your tokens are valid whenever the pipeline is run; else, the pipelines will fail. For more information, see Generating a SAS Token in Snowflake documentation. |
System Generated: Choose this option if you want Snaps to generate and use the SAS tokens as and when required.
Default value: User Supplied
The shared access token that you want to use to access the Azure storage blob folder specified in the Path above. You can get a valid SAS token from the Azure portal.
This property is applicable only when you choose User Supplied in the Shared Access Token Signature Method field above.
Default value: None.
Allows the Snaps to encrypt the blob before being uploaded to Microsoft Azure. You can choose between the following two options:
- None: Indicates that you do not want to use client-side encryption.
- Custom_Key: Indicates that you want to use a custom key to access the storage blob.
Default value: None.
The custom key that you want to use to access the Azure storage blob.
This property is applicable only when you select Custom_Key in the Client side encryption field above. The key should be a 128- or 256-bit Base64-encoded key.
Default value: None.
URL Properties
URL property name
The name of the URL property.
Default value: None.
Example: queryTimeout
URL property value
The URL property value associated with the URL property name.
Default value: None.
Example: 0
Batch size
Required. The number of statements that you want to execute at a time.
Note |
---|
Select queries are not batched. |
Warning |
---|
Using a large batch size could use up the JDBC placeholder limit of 2100. |
Default value: 50
Fetch size
Required. The number of rows you want a query to fetch during each execution.
Warning |
---|
Large values could cause the server to run out of memory. |
Default value: 100
Min pool size
Required. The minimum number of idle connections that you want the pool to maintain at a time.
Default value: 3
Minimum value: 0
Maximum value: No limit
Max pool size
Required. The maximum number of connections that you want the pool to maintain at a time.
Note |
---|
Snowflake Bulk Load/Bulk Upsert/S3 Upsert Snap requires a minimum of 2 connections per Snap in a pipeline. For example, if a pipeline has a Snowflake Bulk Load Snap and an S3 Upsert Snap, then the pool size must be greater than or equal to 4 for successful execution. |
Default value: 50
Minimum value: 0
Maximum value: No limit
Max life time
Required. The maximum lifetime of a connection in the pool. Ensure that the value you enter is a few seconds shorter than any database or infrastructure-imposed connection time limit. A value of 0 indicates an infinite lifetime, subject to the Idle Timeout value. An in-use connection is never retired. Connections are removed only after they are closed.
Default value: 60
Idle Timeout
Required. The maximum amount of time a connection is allowed to sit idle in the pool. A value of 0 indicates that idle connections are never removed from the pool.
Default value: 5
Checkout timeout
Required. The number of milliseconds you want the system to wait for a connection to become available when the pool is exhausted. A value of 0 instructs the system to wait forever. For any other value, the system throws an exception after the wait time has expired.
Default value: 10000
Snowflake S3 Database Account
title | Account Settings |
---|
Label
Required. The name for the account.
Default value: None.
Required. The JDBC JAR files to be loaded (Snowflake JDBC jar 3.0.0 or higher). Click the + button at the right of the field to add a row.
Info |
---|
The Snowflake account has been tested for version 3.6.17 JDBC JAR. |
Example: snowflake-jdbc-3.6.17.jar
Default value: None.
Required. The hostname of the Snowflake server to which you want to connect.
Example: demo.snowflake.net
Default value: None.
Required. The port number associated with the Snowflake S3 database server that you want to use for this account.
Example: 808
Default value: 443
The username that you want to use to connect to the Snowflake database server.
Example: testuser
Default value: None.
The password for the username specified in Username. This password is used as the default password while retrieving connections.
Default value: None.
Required. The name of the Snowflake database to which you want to connect.
Example: testdb
Default value: None.
Required. The name of the warehouse to which you want to connect.
Example: testwh
Default value: None.
The fully-qualified/domain name of the JDBC driver class to be used for connecting to the server.
Example: net.snowflake.client.jdbc.SnowflakeDriver
Default value: com.snowflake.client.jdbc.SnowflakeDriver
S3 Bucket
Required only when using an external staging location. The name of the S3 bucket that you want to use for staging data to Snowflake.
Info |
---|
|
Example: sl-bucket-ca
Default value: None.
S3 Folder
Required only when using an external staging location. The relative path to a folder in the S3 bucket listed in the S3 Bucket field. This is used as a root folder for staging data to Snowflake.
Info |
---|
S3 Folder is mandatory for Snowflake Bulk Load and Unload Snaps. |
Example: https://sl-bucket-ca.s3.<ca>.amazonaws/<sf>
Default value: None
S3 Access-key ID
Required only when using an external staging location. The S3 access key ID that you want to use for AWS authentication.
Info |
---|
S3 Access-key ID is mandatory for Snowflake Bulk Load and Unload Snaps. |
Example: NAVRGGRV7EDCFVLKJH
Default value: None
S3 Secret key
Required only when using an external staging location. The S3 secret key associated with the S3 Access-ID key listed in the S3 Access-key ID field.
Info |
---|
S3 Access-key ID is mandatory for Snowflake Bulk Load and Unload Snaps. |
Example: 2RGiLmL/6bCujkKLaRuUJHY9uSDEjNYr+ozHRtg
Default value: None
URL Properties
URL property name
The name of the URL property. URL property is the full URL.
Default value: None.
Example: queryTimeout
URL property value
The URL property value associated with the URL property name.
Default value: None.
Example: 0
Batch size
Required. The number of Snowflake queries that you want to execute at a time.
Info |
---|
|
Default value: 50
Example: 8
Fetch size
Required. The number of rows a query must fetch for each execution.
Note |
---|
Large values could cause the server to run out of memory. |
Default value: 100
Example: 12
Min pool size
Required. The minimum number of idle connections that you want the pool to maintain at a time.
Default value: 3
Minimum value: 0
Maximum value: No limit
Max pool size
Required. The maximum number of connections that you want the pool to maintain at a time.
Default value: 15
Minimum value: 0
Maximum value: No limit
Max life time
Required. The maximum lifetime of a connection in the pool, in seconds.
Info |
---|
|
Default value: 60
Minimum value: 0
Maximum value: No limit
Idle Timeout
Required. The maximum amount of time in seconds that a connection is allowed to sit idle in the pool.
Info |
---|
0 indicates that idle connections are never removed from the pool. |
Default value: 5
Minimum value: 0
Maximum value: No limit
Checkout timeout
Required. The maximum time in milliseconds you want the system to wait for a connection to become available when the pool is exhausted.
Info |
---|
0 instructs the system to wait forever. For any other value, the system throws an exception after the wait time. |
Default value: 10000
Minimum value: 0
Maximum value: No limit
Snowflake S3 Dynamic Account
title | Account Settings |
---|
Label
Required. The name for the account.
Default value: None.
Account properties
Required. The information required to create a connection to the database.
JDBC jars
Required. The list of JDBC jars to be loaded (Snowflake JDBC jar 3.0.0 or higher). Click the + button at the right of the field to add a row.
Note |
---|
The Snowflake account has been tested for version 3.6.17 JDBC jar. |
Example: snowflake-jdbc-3.6.17.jar
Default value: None.
Hostname
Required. The hostname of the Snowflake server to which you want to connect for the new account.
Example: demo.snowflake.net
Default value: None.
Port Number
Required. The port number associated with the Snowflake database server that you want to use for this account.
Default value: 443
Username
The username that you want to use to connect to the database server.
Example: testuser
Default value: None.
Password
The password associated with the username specified above. This will be used as the default password while retrieving connections.
Default value: None.
Database name
Required. The name of the database to which you want to connect.
Example: testdb
Default value: None.
Warehouse name
Required. The name of the warehouse to which you want to connect.
Example: testwh
Default value: None.
The fully-qualified name of the driver class to be used for connecting to the server.
Example: net.snowflake.client.jdbc.SnowflakeDriver
Default value: com.snowflake.client.jdbc.SnowflakeDriver
S3 Bucket
Required only when using an external staging location. The S3 bucket that you want to use for staging data onto Snowflake.
Note |
---|
The field is required when using the Bulk Load and Unload Snaps. For optimal performance, this S3 bucket should be located in the same AWS region as the snowflake instance. |
Default value: None.
S3 Folder
Required only when using an external staging location.Relative path to a folder in the S3 Bucket listed in the S3 Bucket field. This is used as a root folder for staging data onto Snowflake.Note |
---|
The field is required when using the Snowflake Bulk Load and Unload Snaps. |
Default value: None.
S3 Access-key ID
Required only when using an external staging location. The S3 access key ID that you want to use for AWS authentication.
Note |
---|
The field is required when using the Snowflake Bulk Load and Unload Snaps. |
Default value: None.
S3 Secret key
Required only when using an external staging location. The S3 secret key associated with the S3 Access-ID key listed in the field above.
Note |
---|
The field is required when using the Snowflake Bulk Load and Unload Snaps. |
Default value: None.
URL Properties
URL property name
The name of the URL property.
Default value: None.
Example: queryTimeout
URL property value
The URL property value associated with the URL property name.
Default value: None.
Example: 0
Batch size
Required. The number of statements that you want to execute at a time.
Note |
---|
Select queries are not batched. |
Warning |
---|
Using a large batch size could use up the JDBC placeholder limit of 2100. |
Default value: 50
Fetch size
Required. The number of rows you want a query to fetch during each execution.
Warning |
---|
Large values could cause the server to run out of memory. |
Default value: 100
Min pool size
Required. The minimum number of idle connections that you want the pool to maintain at a time.
Default value: 3
Minimum value: 0
Maximum value: No limit
Max pool size
Required. The maximum number of connections that you want the pool to maintain at a time.
Default value: 15
Minimum value: 0
Maximum value: No limit
Max life time
Required. Maximum lifetime of a connection in the pool. Ensure that the value you enter is a few seconds shorter than any database or infrastructure-imposed connection time limit. A value of 0 indicates an infinite lifetime, subject to the Idle Timeout value. An in-use connection is never retired. Connections are removed only after they are closed.
Default value: 60
Idle Timeout
Required. The maximum amount of time a connection is allowed to sit idle in the pool. A value of 0 indicates that idle connections are never removed from the pool.
Default value: 5
Checkout timeout
Required. The number of milliseconds you want the system to wait for a connection to become available when the pool is exhausted. A value of 0 instructs the system to wait forever. For any other value, the system throws an exception after the wait time has expired.
Default value: 10000
Using Account Encryption
If you are using Standard Encryption, the High sensitivity settings under Enhanced Encryption are followed.
If you have the Enhanced Account Encryption feature, the following describes which fields are encrypted for each sensitivity level selected per each account.
Account
- High: Password
- Medium + High: Username, password
- Low + Medium + High: Username, password
Using Pipeline Parameters in Account Configuration
You can use pipeline parameters when configuring dynamic Snowflake accounts. For information on pipeline parameters, see Pipeline Parameters in Pipeline Properties.
Example
Define the following two pipeline parameters in the pipeline with which you want to associate the new account:
- User_name
- Pass_word
You will use these values in the dynamic account.
Back in the Snowflake pipeline, create a Snowflake Dynamic Account
- Set the expression toggle on for both Username and Password
- Set Username to _user_name and Password to _password
- Click Apply and fill the Snap Settings for the desired function.
Note |
---|
You cannot Validate an account connection when creating a Snowflake Dynamic Account because the account properties of a dynamic account are provided dynamically as pipeline parameters. |
Apply the changes. Your dynamic account is now configured; and your username and password details should change as you update them in your pipeline parameters.
See Also
Account History
title | Click to view/expand |
---|
4.20 (snapsmrc535)
- No updates made.
4.19 (snapsmrc528)
- No updates made.
4.18 (snapsmrc523)
- No updates made.
4.17 (snapsmrc515)
- No updates made. Automatic rebuild with a platform release.
4.16 (snapsmrc508)
- Added the ability to use SnapLogic to securely connect to and query a Snowflake instance using Azure Blob as its storage layer.
- Added support for snowflake JDBC JAR version 3.6.17.
4.14 (snapsmrc490)
No updates made. Automatic rebuild with a platform release.
4.10
Tested for the JDBC jar version 3.1.1 on the Database and the Dynamic accounts.
4.9.0
JDBC Driver Class property added to enable the user to custom configure the JDBC driver in the Database and the Dynamic accounts.
4.8.0
- Info tab added to accounts.
- Database accounts now invalidate connection pools if account properties are modified and login attempts fail.
4.7.0
Introduced the Snowflake Snap Pack in this release.In this article
Table of Contents | ||||||
---|---|---|---|---|---|---|
|
In this section
Child pages (Children Display) |
---|
Overview
You must create Snowflake accounts to connect to data sources that you want to use in your pipelines. You can configure your Snowflake accounts in SnapLogic using either the Designer or the Manager.
The Snowflake Snap Pack is now bundled with the default Snowflake JDBC JAR v3.14.
As of November 1, 2023, Snowflake instances hosted on Google Cloud must use Snowflake JDBC JARs v3.13.25 or higher. If you are using the default drivers bundled with Snowflake or ELT Snaps, your pipelines are not affected. If your Snowflake instances hosted on Google Cloud use older JARs, you must update the client drivers. Learn more.
Snap-Account Compatibility
Snap | |||||||
---|---|---|---|---|---|---|---|
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
Configuring Snowflake Accounts Using SnapLogic Designer
Drag a Snowflake Snap to the Canvas and click the Snap to open its settings. Click the Account tab. You can now either use an existing account or create a new one.
Selecting an existing account
SnapLogic organizes and displays all accounts to which you have access, sorting them by account type and location. To select an existing account:
Click the icon to view the accounts to which you have access and select the account that you want to use.
Click to save the Snap settings.
Creating an account
Click Add Account in the Account Reference dialog.
Select the Location in which you want to create the account, select the account type, and click Continue. The Add Account dialog associated with the account type appears.
Enter the required account details. For detailed guidance on how to provide information associated with each account type, refer to Snowflake Azure Database Account, Snowflake Google Storage Database Account, Snowflake S3 Database Account, Snowflake S3 Dynamic Account, Snowflake Azure OAuth2 Account, Snowflake Google Storage OAuth2 Account, and Snowflake S3 OAuth2 Account
Click Validate to verify the account, if the account type supports validation.
Click Apply to complete configuring the Snowflake account.
Info |
---|
Enter additional information on this account in the Notes field of the Info tab. This will help you–and other users–understand the purpose of the account, especially if there are multiple accounts of the same type. |
Configuring Snowflake Accounts Using SnapLogic Manager
Use Manager to create accounts without associating them immediately with Pipelines.
Accounts in SnapLogic are associated with projects. You can use accounts created in other projects only if you have at least Read access to them.
In the left pane, browse to the project in which you want to create the account and click > Account > Snowflake, followed by the appropriate account type. The Create Account dialog associated with the selected account type is displayed.
Repeat the steps numbered 3 through 5 in the Creating an account section.
Avoid updating account credentials while Pipelines using that account are executing. Doing so may lead to unexpected results, including your account getting locked.
Account Encryption
Standard Encryption | If you are using Standard Encryption, the High sensitivity settings under Enhanced Encryption are followed. | |
---|---|---|
Enhanced Encryption | If you have the Enhanced Account Encryption feature, the following describes which fields are encrypted for each sensitivity level selected per each account. Account
|
Using Pipeline Parameters in Account Configuration
You can use Pipeline parameters when configuring dynamic Snowflake accounts. See Pipeline Parameters in Pipeline Properties for more information.
Example
Define the following two Pipeline parameters in the Pipeline with which you want to associate the new account:
User_name
Pass_word
You will use these values in the Dynamic account.
In the Snowflake pipeline, create a Snowflake Dynamic Account
Set the expression toggle on for both Username and Password
Set Username to _user_name and Password to _password
Click Apply and fill the Snap Settings for the desired function.
Info |
---|
You cannot Validate an account connection when creating a Snowflake Dynamic Account, because the account properties of a dynamic account are provided dynamically as Pipeline parameters. |
Apply the changes. Your dynamic account is now configured; and your username and password details should change as you update them in your Pipeline parameters.
Snap Pack History
Expand | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|