Configure Data Destination - Snowflake

Configuring a Data Destination to Snowflake.

At One Model, we think it's critical that your data goes to where you need it most. If Snowflake is your platform of choice, you can use our Snowflake Data Destination to send data from One Model to Snowflake.

Configuring the Snowflake Data Destination

The following settings will need to be configured for a Snowflake Data Destination:

  • Host - The host URI of your Snowflake account

    • Note: This should not have https:// or http:// as starting characters.

  • Port - The port used to connect to Snowflake. 443 is the default

  • Database - The Database in Snowflake that data is destined for. This field is Case Sensitive

  • Warehouse - The Warehouse in Snowflake that the data is destined for. This field is Case Sensitive.

  • Schema - The Schema configured in Snowflake that the data is destined for. This field is Case Sensitive

  • Username - The username of the Snowflake user tha One Model will connect through. We recommend setting up a user in Snowflake specifically for One Model so that it can have the required Snowflake permissions applied

  • Password - The password associated with the Snowflake User configured in the Username

  • Account - The Snowflake Account that is being used to upload data into. Snowflake Accounts are equivalent to Instances, and each contain multiple users

  • Role - The role that has been configured with the required permissions to upload data. This field is Case Sensitive.

Example configuration is below:

For further details on how to configure a Data Destination, refer to our Configure a Data Destination guide.

Permissions required in Snowflake

The following permissions are the minimum level of access required for a Snowflake User to be used in the Snowflake Data Destination:

  • The Role of the user needs access to the Warehouse configured in One Model
  • The Role of the user needs access to the Database configured in One Model
  • The Role of the user needs access to create an integration in the account
    • This is required as the Integration is then given access to just the data that is needed for a Data Destination run, so this can’t be maintained manually.
  • The Role of the User needs access to Show Grants
  • The Role of the user needs to have access to either: 
    • create a schema, or 
    • Usage, Create Stage, Create File Format, and Create Table of a Schema with the same name as the one configured in One Model

This can be done using the following statements:

GRANT USAGE

  ON WAREHOUSE <warenhouse_name>

  TO ROLE <role_name>;

GRANT USAGE

  ON DATABASE <database_name>

  TO ROLE <role_name>;

GRANT CREATE INTEGRATION 

ON ACCOUNT TO ROLE <role_name>;

USE DATABASE <database_name>;

SHOW GRANTS TO ROLE <role_name>;

Access to create a schema can be given by:

GRANT CREATE SCHEMA 

    on DATABASE <database_name> 

    TO ROLE <role_name>;

Access to use a schema can be given by:

GRANT USAGE, CREATE STAGE, CREATE FILE FORMAT, CREATE TABLE

    on SCHEMA <schema_name> 

    TO ROLE <role_name>;

Was this article helpful?

0 out of 0 found this helpful

Comments

0 comments

Please sign in to leave a comment.