In this article

Overview

You can use this account type to connect to a Snowflake instance hosted on Google Cloud Platforms. 

The Snowflake - Bulk Load and Snowflake - Bulk Upsert Snaps support loading data from Google Cloud Storage as an external stage.
Input view data sources must use internal staging when it comes to Google external storage.

Prerequisites

A valid Snowflake database account.

Limitations and Known Issues

None.

Account Settings

Snap Settings

  • Asterisk ( * ): Indicates a mandatory field.

  • Suggestion icon ( (blue star) ): Indicates a list that is dynamically populated based on the configuration.

  • Expression icon ( (blue star) ): Indicates whether the value is an expression (if enabled) or a static value (if disabled). Learn more about Using Expressions in SnapLogic.

  • Add icon ( (blue star) ): Indicates that you can add fields in the field set.

  • Remove icon ( (blue star) ): Indicates that you can remove fields from the field set.

Field Name

Field Type

Field Dependency

Description

Label*

Default Value: None
ExampleSnowflake Google Storage Database Account

String

N/A

Specify a unique label for the account.

Account properties*

JDBC JARs

Use this field set to add a list of JDBC JAR files to be loaded. The Snowflake account has been tested with the JDBC driver version 3.14.0.

Click + to add a new row for each JDBC JAR file. Add each JAR file in a separate row. See Downloading the JDBC Driver for more information about JDBC drivers and downloading the appropriate driver for your account.

JDBC Driver*

Default value: None
Example: snowflake-jdbc-3.14.0.jar

String

N/A

Specify the fully-qualified name of the JDBC driver class to be used for connecting to the server.

note

The Snowflake Snap Pack is bundled with the default Snowflake JDBC JAR v3.14 file. Therefore, even if you do not provide a JDBC Driver, the account does not fail.

The Snowflake Snap Pack is bundled with the default Snowflake JDBC JAR v3.14 file. Therefore, even if you do not provide a JDBC Driver, the account does not fail.

Hostname*

Default value: None
Example: demo.snowflake.net

String

N/A

Specify the hostname of the Snowflake server to which you want to connect the new account.

Port Number*

Default value: 443 
Example: 332

Integer

N/A

Specify the port number associated with the Snowflake database server that you must use for this account.

Authentication Type*

Default Value: Password
Example: Key Pair

Dropdown list

N/A

Choose an authentication type to connect to the database. The available options are:

  • Password: Authenticates with the Username and Password credentials.

  • Key Pair: Authenticates using the Private Key and Encrypted Private Key Passphrase.

Username*

Default Value: N/A
ExampleSW_User

String

N/A

Specify the username to connect to the Snowflake database server.

Password*

Default Value: N/A
Examplell@98#*00w

String

Appears when you select Password for Authentication Type.

Specify the password associated with the username specified above. This will be used as the default password while retrieving connections.

Encrypted Private Key*

Default Value: N/A
Example: -----BEGIN PRIVATE KEY-----MIIE6TAbBgkqhkiG9w0BBQMwDgQILYPyennlX2bd8yX8
xOxGSGfvB+99+PmSlex0FmY9ov1J8H1H9Y3lJXXb

-----END PRIVATE KEY-----

String

Appears when you select Key Pair for Authentication Type.

Specify the key that you have generated for authentication. The key must include the generated header and footer.

The Private Key is read, decrypted if necessary, and included with properties to connect to Snowflake, where it is validated with its paired Public Key to authenticate the connection.

Learn more about configuring and generating a valid key pair.

Encrypted Private Key Passphrase*

Default Value: N/A
Example: Nki62lmWfFO75Xg04W+Fnlt9ejiMn4zPbkf/me Aq1R3X7CM/ORLuLms4vU70NjzNYo09SO
UXhQmoqpEkQBvrrYuzdaQt5hvwh7vZQh WZ5L8+lTRoA
neFtmd6LZ94AssA==

String

Appears when you select Key Pair for Authentication Type.

Specify the passphrase for the Encrypted Private Key. Leave this field blank if the specified Private Key is not encrypted. However, we recommend that you use Encrypted Private Key.

Database name*

Default value: None
Example: SWDB

String

N/A

Specify the name of the database to which you want to connect.

Warehouse name*

Default value: None
Example: Snowflake_cdw

String

N/A

Specify the name of the warehouse to which you want to connect.

JDBC Driver Class

Default Valuenet.snowflake.client.jdbc.SnowflakeDriver
Examplenet.snowflake.client.jdbc.SnowflakeDriver

String

N/A

Specify the JDBC driver class to use.

Google Cloud Storage (GCS) Bucket

Default value: N/A
Example: sw_gcs_bucket_1

String/Expression

N/A

Specify the name of the GCS bucket from which to load the staged data to your Snowflake database.

Google Cloud Storage (GCS) Folder

Default value: N/A
Example: sw_gcs_bucket_1_Files

String/Expression

N/A

Specify the relative path to the folder in the GCS bucket where the source files are located. This is used as a root folder for staging data.

Storage Integration

Default value: N/A
Example: GCS_Storage_Integration

String/Expression

N/A

Specify the predefined storage integration that is used to authenticate the Google
Cloud Storage bucket hosting as the external stage.

Advanced properties

URL Properties

Use this field set to define additonal URL properties to use if any.

URL property name

Default value: None
Example: MAX_CONCURR ENCY_LEVEL

String

N/A

Specify the name of the URL property.

URL property value

Default value: None
Example: 4

String

N/A

Specify the URL property value associated with the URL property name.

Batch size*

Default value: 50
Example: 9

Integer

N/A

Specify the number of Snowflake queries that you want to execute at a time

Fetch size*

Default value: 100
Example90

Integer

N/A

Specify the number of rows a query must fetch for each execution.

Min pool size*

Default value: 3
Example: 4

Integer

N/A

Specify the minimum number of idle connections that you want the pool to maintain at a time. 

Max pool size*

Default value: 15
Example: 10

Integer

N/A

Specify the maximum number of connections that you want the pool to maintain at a time.

Max life time*

Default value: 60
Example: 90

Integer

N/A

Specify the maximum lifetime of a connection in the pool, in seconds.

Minimum value: 0
Maximum value: No limit

Idle Timeout*

Default value: 5
Example: 6

Integer

N/A

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

Minimum value: 0
Maximum value: No limit

Checkout timeout*

Default value: 10000
Example: 9000

Integer

N/A

Specify the number of milliseconds you want the system to wait for a connection to become available when the pool is exhausted. 

Minimum value: 0
Maximum value: No limit

Generating a Valid Key Pair

Snap Pack History


Related Links