Configure Snowflake

How to configure Snowflake.

In Snowflake, create a new SQL worksheet and paste in the query shown below. The query will create a Snowflake database, a warehouse, and a user with the required permissions.

After changing the MY_NAME, MY_COMMENT, and MY_PASSWORD variables, run the entire query.

configure_snowflake.sql

_27
-- Set up variables
_27
SET MY_NAME = UPPER('Y42_DEMO');
_27
SET MY_COMMENT = 'Y42 platform demo';
_27
SET MY_PASSWORD = 'my_secret_password';
_27
_27
-- Your current role will get access to the role and database we create here
_27
SET EXECUTING_ROLE = CURRENT_ROLE();
_27
_27
-- Set up user and role
_27
CREATE ROLE IDENTIFIER($MY_NAME) COMMENT = $MY_COMMENT;
_27
CREATE USER IDENTIFIER($MY_NAME) COMMENT = $MY_COMMENT PASSWORD = $MY_PASSWORD MUST_CHANGE_PASSWORD = false DEFAULT_ROLE = $MY_NAME;
_27
GRANT ROLE IDENTIFIER($MY_NAME) TO ROLE IDENTIFIER('ACCOUNTADMIN');
_27
GRANT ROLE IDENTIFIER($MY_NAME) TO ROLE IDENTIFIER($EXECUTING_ROLE);
_27
GRANT ROLE IDENTIFIER($MY_NAME) TO USER IDENTIFIER($MY_NAME);
_27
_27
-- Set up database
_27
CREATE DATABASE IDENTIFIER($MY_NAME) COMMENT = $MY_COMMENT;
_27
GRANT CREATE SCHEMA ON DATABASE IDENTIFIER($MY_NAME) TO ROLE IDENTIFIER($MY_NAME);
_27
GRANT ALL ON DATABASE IDENTIFIER($MY_NAME) TO ROLE IDENTIFIER($MY_NAME);
_27
GRANT OWNERSHIP ON DATABASE IDENTIFIER($MY_NAME) TO ROLE IDENTIFIER($MY_NAME) REVOKE CURRENT GRANTS;
_27
_27
-- Set up warehouse
_27
CREATE WAREHOUSE IDENTIFIER($MY_NAME) COMMENT = $MY_COMMENT WAREHOUSE_SIZE = 'X-Small' AUTO_RESUME = true AUTO_SUSPEND = 60 WAREHOUSE_TYPE = 'STANDARD';
_27
GRANT USAGE ON WAREHOUSE IDENTIFIER($MY_NAME) TO ROLE IDENTIFIER($MY_NAME);
_27
_27
-- Create network policy if required
_27
-- CREATE NETWORK POLICY y42_allow_list ALLOWED_IP_LIST=('<ip_addresses>');

The example query will generate the following credentials:

FieldExample value
UserY42_DEMO
Passwordmy_secret_password
Account [1]https://<account_locator>.<cloud_region_id>.snowflakecomputing.com
WarehouseY42_DEMO
DatabaseY42_DEMO

[1] Region-specific account locator (opens in a new tab). You can retrieve this by hovering over your account in the account list and clicking on the 🔗 link icon that pops up.

Store these credentials in a secure location.