Skip to end of banner
Go to start of banner

Snowflake Account

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 35 Next »

On this Page

 

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:

  • Your private project folder: This folder contains the pipelines that will use the account.
  • Your Project Space’s shared folder: This folder is accessible to all the users that belong to the Project Space.
  • The global shared folder: This folder is accessible to all the users within an organization in the SnapLogic instance.

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: 

  1. Click Create, then select Snowflake > Snowflake S3 Database Account or Snowflake > Snowflake S3 Dynamic Account or Snowflake Azure Database Account.
  2. Supply an account label.
  3. 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.
  4. (Optional) Supply additional information on this account in the Notes field of the Info tab.
  5. Click Apply.

Avoid changing account credentials while pipelines using them are in progress. This may lead to unexpected results, including locking the account.


If the Snap fails to connect to the database, it will retry three more times. 

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.

For details on account encryption, see Using Account Encryption, below.

Account Types

Snowflake S3 Database Account

Snowflake S3 Dynamic Account

 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.

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.

JBDC Driver Class

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. 

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.

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.

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.

The field is required when using the Snowflake Bulk Load and Unload Snaps.

 Default value: None.

Advanced properties

URL Properties

Use these fields to configure the URLs associated with this account.

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.

Select queries are not batched.

Using a large batch size could use up the JDBC placeholder limit of 2100.

Default value: 50


Fetch size


RequiredThe number of rows you want a query to fetch during each execution.

 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

Snowflake Azure Database Account

 Account Settings

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).

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.

JBDC Driver Class

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.

Shared Access Token Signature Method

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.

    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

User token

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.

Client side encryption

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.

Custom key

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.

Advanced properties

URL Properties

Use these fields to configure the URLs associated with this account.

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.

Select queries are not batched.

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.

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.

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

Using 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

  • 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.
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.

Related Information

Account History

 Click to view/expand

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.
  • No labels