Versions Compared

Key

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

...

Field Name

Field Type

Description

Label*

Default Value: [None]
ExampleSnowflake Azure OAuth2 Account

String

Specify a unique name for your account instance.

Client ID*

Default Value: N/A
ExampleGZxuj932klnbue8=

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!tz@wld*(687

String

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

Access token*

Default Value: N/A
Example<Encrypted>

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
Example<Encrypted>

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.

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 obtaining 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://myaccount.snowflakecomputing.com/oauth/authorize

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://myaccount.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
Example

https://elastic.snaplogic.com/api/1/snowflake/admin/oauth2callback/snowflake

https://emea.snaplogic.com/api/1/snowflake/admin/oauth2callback/snowflake

String

Specify the value for the token endpoint parameter.

Auth endpoint config

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

Info

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
Example

https://elastic.snaplogic.com/api/1/snowflake/admin/oauth2callback/snowflake

https://emea.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 the account.

Database name*

Default Value: N/A
Examplesnapsdb

String/Expression

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

Warehouse name*

Default Value: N/A
ExampleSL_WH

String/Expression

Specify the name of the warehouse to use for performing the required actions.

JDBC Driver Class

Default Value: N/A
Examplenet.snowflake.client.jdbc.SnowflakeDriver

String

Specify the JDBC driver class to use.

Azure storage account name

Default Value: N/A
Exampletestazurestorage

String/Expression

Specify the name of the instance of the Azure storage account.

Azure storage account key

Default Value: N/A
Exampletestazurestorage

String/Expression

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

Container

Default value: N/A
ExampleContainer1

String/Expression

Specify the name of the Azure storage blob container that you want to use for hosting files.

Path

Default value: N/A
Example: System Generated

String/Expression

Specify the location of the folder in the container listed above where you want to host files.

Shared Access Signature (SAS) Token Method

Default value: User Supplied
Example: System Generated

Dropdown list

The method of supplying the SAS token for the Snaps. You can choose one 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.

User token

Default Value: N/A

String/Expression

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

Client side encryption

Default Value: N/A
ExampleCustom_Key

Dropdown list

Select one of the following options to encrypt the blob before uploading to Microsoft Azure. You can choose one of the following two options:

  • None: Does not use client-side encryption.

  • Custom_Key: Uses a custom key to access the storage blob.

Advanced properties

URL Properties

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

Info

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 Value50
Example: 40

Integer/Expression

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

Select queries are not batched.

Fetch size*

Default Value100
Example: 40

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.

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

...