Snowflake Google Storage OAuth2 Account
In this article
Overview
You can use this account type to connect Snowflake Snaps with data sources that use Snowflake Google Storage OAuth2 account.
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 for Google external storage.
Prerequisites
Create a Security Integration in Snowflake to generate a client ID and a client secret. Learn more about generating a Client ID and a Client Secret in Snowflake.
Limitations and Known Issues
Account Settings
Â
Asterisk (*): Indicates a mandatory field.
Suggestion icon ( ): Indicates a list that is dynamically populated based on the configuration.
Expression icon (): Indicates whether the value is an expression (if enabled) or a static value (if disabled). Learn more about Using Expressions in SnapLogic.
Add icon (): Indicates that you can add fields in the field set.
Remove icon (): Indicates that you can remove fields from the field set.
Field Name | Field Type | Description | |
---|---|---|---|
Label* Default Value:Â N/A | String | Specify a unique name for your account instance. Â | |
Client ID* Default Value: N/A | 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 | String | Specify the OAuth Client secret that you obtain from the Snowflake Console.  | |
Access token*  Default Value: N/A | 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 | 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 | Integer | Auto-generated upon account authorization. The number of seconds after which the access token expires. We recommend you to set the | |
Header authenticated  Default Value: Deselected | Checkbox | Select this checkbox if the endpoint uses bearer header authentication.  | |
OAuth2 authorization endpoint*  Default Value: N/A | String | Specify the endpoint in this format | |
OAuth2 token endpoint*  Default Value: N/A | String | Specify the OAuth2 token in this format | |
Grant type  Default Value: authorization_code | Dropdown list | Select one of the following Grant types for authorization:
| |
Token endpoint config | Use this field to define custom properties for the OAuth2 token endpoint. Depending on the request parameters, this endpoint returns access tokens or refresh tokens. | ||
 | Token endpoint parameter  Default Value: N/A | String | Specify the parameter for the token endpoint.  |
 | Token endpoint parameter value  Default Value: N/A | Integer | Specify the value for the token endpoint parameter.  |
Authorization endpoint config | Use this field set to define custom properties for the OAuth2 authentication endpoint. | ||
Authentication parameter
| String | Specify the parameter for OAuth2 authentication. Â | |
Authentication parameter value Default Value: N/A | String | Specify the value for the OAuth2 authentication parameter.  | |
Auto-refresh token Default value: Deselected | 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. By default, the Snowflake account is bundled with the JDBC driver version 3.16.0. However, you can add a custom JAR file. 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
| String | Specify the fully-qualified name of the JDBC driver to be used for connecting to the server. |
Hostname* Â Default value: N/A | 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 | String/Expression | Specify the Snowflake database to connect. Â | |
Warehouse name* Â Default value:Â N/A | String/Expression | Specify the name of the warehouse to which you want to connect. Â | |
JDBC driver class  Default Value: net.snowflake.client.jdbc.SnowflakeDriver | String | Specify the JDBC driver class to use.  | |
GCS Bucket  Default Value: N/A | String/Expression | Specify the name of the GCS Bucket you want to use for the account instance.  | |
GCS Folder  Default Value: N/A | String/Expression | Specify the GCS folder to connect to the instance of the GCS storage OAuth2 account.  | |
Storage integration  Default value: N/A | 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. | ||
URL property name Default value: [None] | String | Specify the name of the URL property. Â | |
URL property value Default value: [None] | String | Specify the URL property value associated with the URL property name. Â | |
Batch size*  Default Value: 50 | Integer/Expression | Specify the number of statements that you want to execute at a time. | |
Fetch size* Â Default Value: 100 | Integer/Expression | Specify the number of rows you want a query to fetch during each execution. | |
Min pool size*  Default Value: 3 | Integer/Expression | Specify the minimum number of idle connections that you want the pool to maintain at a time. Minimum value: 0 | |
Max pool size* Â Default Value:Â 50 | Integer/Expression | Specify the maximum number of connections that you want the pool to maintain at a time. Minimum value: 0 | |
Max lifetime (minutes)* Â Default Value:Â 60 | Integer/Expression | Specify the maximum lifetime of a connection in the pool. | |
Idle timeout (minutes)*  Default Value: 5 | 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 (milliseconds)*  Default value: 10000 | Integer/Expression | Specify the number of milliseconds you want the system to wait for a connection to become available when the pool is exhausted. |
Failed to execute query because of SQL compilation error. Â Â | If database usage is not granted for the role, the account validation fails. | Run the following command in Snowflake worksheet:
|
If schema or table usage is not granted for the role, the account validation fails. | Run the following command in Snowflake worksheet based on requirements: GRANT USAGE ON SCHEMA SNAPDEV.CUSTOMER TO ROLE public
(or)
GRANT ALL ON TABLE SNAPDEV.CUSTOMER.TEST TO ROLE public; |
Snap Pack History
Related Content
Have feedback? Email documentation@snaplogic.com | Ask a question in the SnapLogic Community
© 2017-2024 SnapLogic, Inc.