In this article we will discuss how to connect a Snowflake database to Preset. So let's get started!
Allowlist Preset IPs
Before starting, we recommend that you allowlist the Preset IP addresses to ensure the connection with Snowflake.
In Snowflake, allowlist Preset IPs by running:
CREATE NETWORK POLICY PRESET_WHITELIST ALLOWED_IP_LIST = ('x.x.x.x', 'x.x.x.x', 'x.x.x.x')
...with x.x.x.x being the relevant IP address based on the region where Preset Cloud is deployed:
|us-west-2 (us1a)||us-east-1 (us2a)||eu-north-1 (eu5a)||ap-northeast-1 (ap1a)|
If you are not sure where your Preset workspace is located, you can refer to the URL on your browser when accessing Preset. It should look like this: https://xxxxxxxx.us2a.app.preset.io/superset..., where us2a means it is in us-east-1.
Check Snowflake User Used
When a new user is created on Snowflake, a password reset is required on the initial login or use. For a first time Snowflake user that’s recently created, login to Snowflake first with the new user and update the password. Then, the user can be used to access the Snowflake database from another IP.
Connect Database to Preset
Let's start by selecting + Database — have a look at Connecting your Data if you need help wth this step.
...then, in the Connect a database window, select the Snowflake card.
Configure the Connection
The Connect a database panel appears.
Please note that all fields below are required.
In the Database Name field, enter the name of the database that you are connecting to.
In the Username and Password fields, enter your user credentials.
In the Display Name field, enter a nickname for the database for display in Preset; by default, this is "Snowflake."
In the Account field, enter the account name of the database that you are connecting to. Refer to the Snowflake documentation to identify the structure to your Cloud Provider and Region. The account identifier can vary by region.
In the Warehouse and Role fields, enter the relevant warehouse (e.g., compute_wh) and role (e.g., accountadmin) for the connection.
When done, select Connect.
Step 3 of 3 will appear. At this stage, you can optionally configure Advanced options, if needed. To learn more, please see Advanced Connection Settings.
To finalize the connection, select Finish. Great job!