Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Field Name

Field Type

Description

Label*

Default Value: N/A
ExampleSnowflake Google Storage OAuth2 Account

String

Specify a unique name for your account instance.

Client ID*

Default Value: N/A
ExampleSnowflake GCS OAuth2 AccountDEF456123GHI7890

String

Specify the OAuth Client ID (to be used for token request) that you obtain from the Snowflake Console. Learn more about how to generate OAuth Client ID and Client secret.

Client secret

Default Value: N/A
Example<Encrypted>abcd1234efgh5678ijkl9012mnop3456

String

Specify the OAuth Client secret that you obtain from the Snowflake Console.

Access token*

Default Value: N/A
Example<Encrypted>eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiw

String

Auto-generated upon account authorization. The access token is used to make API requests on behalf of the user associated with the client ID.

Refresh token

Default Value: N/A
Example857427

String

Auto-generated upon account authorization. The token used to refresh the access token.

To access the API beyond the lifetime of a single access token, your application can obtain a refresh token. The application stores the refresh token for future use and automatically refreshes the access token before it expires.

Access token expiration

Default Value: N/A
Example16541

Integer

Auto-generated upon account authorization. The number of seconds after which the access token expires.

Info

We recommend you to set the oauth_refresh_token_validity to 7776000 seconds when creating the Security Integration in Snowflake as this is the maximum time Snowflake allows for getting refresh tokens.

Header authenticated

Default Value: Deselected

Checkbox

Select this checkbox if the endpoint uses bearer header authentication.

OAuth2 Endpoint*

Default Value: N/A
Example: https://gm123.us-central1.gcp.snowflakecomputing.com/oauth/authentication

String

Specify the endpoint in this format https://<account_identifier>.snowflakecomputing.com/oauth/authorize to authorize the application.
Account identifier is the full name of your account that is provided by Snowflake.

OAuth2 Token*

Default Value: N/A
Example: https://gm123.us-central1.gcp.snowflakecomputing.com/oauth/token-request

String

Specify the OAuth2 token in this format https://<account_identifier>.snowflakecomputing.com/oauth/token-request to get the access token.

Token endpoint config

Use this field set to define custom properties for the OAuth2 token endpoint. This endpoint returns access tokens or refresh tokens depending on the request parameters.

Token endpoint parameter

Default Value: N/A
Exampleredirect_uri

String

Specify the parameter for the token endpoint.

Token endpoint parameter value

Default Value: N/A
Examplehttps://elastic.snaplogic.com/api/1/snowflake/admin/oauth2callback/snowflake

Integer

Specify the value for the token endpoint parameter.

Auth endpoint config

Use this field set to define custom properties for the OAuth2 authentication endpoint.

You can define scopes in this field set and limit the authorization to a custom role. For example, For example, scope=session:role:R1

Learn more about Scopes.

Authentication parameter


Default Value: N/A
Exampleredirect_uri

String

Specify the parameter for OAuth2 authentication.

Authentication parameter value

Default Value: N/A
Examplehttps://elastic.snaplogic.com/api/1/snowflake/admin/oauth2callback/snowflake

String

Specify the value for the OAuth2 authentication parameter.

Auto-refresh token

Default valueDeselected 

Checkbox

Select this checkbox to enable auto-refresh of the access token before it expires.

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: N/A
Examplesnowflake-jdbc-3.14.0.jar

String

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

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: N/A
Exampledemo.snowflake.net

String/Expression

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

Port Number*

Default value: 443 

Integer/Expression

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

Database name*

Default Value: N/A
Exampletestdb

String/Expression

Specify the Snowflake database to connect.

Warehouse name*

Default value: N/A
Examplesnapwarehouse

String/Expression

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

Specify the JDBC driver class to use.

GCS Bucket

Default Value: N/A
Examplegcsoauthstorage

String/Expression

Specify the name of the GCS Bucket you want to use for the account instance.

GCS Folder

Default Value: N/A
Examplegcs_storageint

String/Expression

Specify the GCS folder to connect to the instance of the GCS storage OAuth2 account.

Storage Integration

Default value: N/A
ExampleGCS SI

String/Expression

Specify the name of the storage integration.

Advanced properties

URL Properties

Use this field set to configure the URLs associated with this account.

Granting Roles

You can grant roles to the SnapLogic Snowflake account by using the role parameter in the URL Properties field set. Ensure that the roles are predefined in your Snowflake account before configuring the SnapLogic Snowflake account. 

URL Property Name: role

URL Property Value: SYSADMIN

Learn more about Roles and Grant Roles.

URL property name

Default value: [None]
ExamplequeryTimeout

String

Specify the name of the URL property.

URL property value

Default value: [None]
Example0

String

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

Batch size*

Default Value: 50
Example: 50

Integer/Expression

Specify the number of statements that you want to execute at a time.

Select queries are not batched.

Fetch size*

Default Value: 100
Example: 50

Integer/Expression

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

Large values could cause the server to run out of memory.

Min pool size*

Default Value3
Example: 2

Integer/Expression

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

Minimum value: 0
Maximum value: No limit

Max pool size*

Default Value50
Example: 40

Integer/Expression

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

Info

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.

Minimum value: 0
Maximum value: No limit

Max life time*

Default Value60
Example50

Integer/Expression

Specify the maximum lifetime of a connection in the pool.

Info

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.

Idle Timeout*

Default Value5
Example: 4

Integer/Expression

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.

Checkout timeout*

Default value10000
Example: 9000

Integer/Expression

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

If you provide 0, the Snap waits infinitely until the connection is available. Therefore, we recommend you not to specify 0 for Checkout Timeout. For any other value other than 0, the Snap displays an exception after the wait time has expired.

...