Snowflake Optimizer Onboarding
Follow these instructions to onboard to our Snowflake optimizer.
How it works
Create a Snowflake user and role
-- Create the Espresso AI user
CREATE USER espresso_ai_user
TYPE=SERVICE
RSA_PUBLIC_KEY='MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA6GfMQyT/1ZQS1wwTeF3Q
lbHJyBSuIio+UlnZixffvo9UwP/ild6R4AqOEma39Ty1zuLibbyNSgjTYqNXv7QN
iEgR50SvEo27N6EJI1EOnJPREzi060E64eXMrc1mwPrERxtEtNXgJBUs3Y2aKsGK
oo900jkjK08CrMNBM1uzyXhLBS5a4sNDSlef4JjyZCBl4iHTqmeqD0xZJCC2/Rlr
40UGPq+Ae/zXyyDyQkWE69ytZQRjPXvv8b2x6C9JtKYqtklJljzFy74eQZV4m9hx
tH+r1Z32zyhjNGhYaRF/0yD3gNWg135cexfyd5M8PKPt1Km4VAV6oPr8QYEfvS50
0QIDAQAB';
CREATE ROLE IF NOT EXISTS ESPRESSO_AI_USER
COMMENT = 'Used by Espresso AI';
GRANT ROLE ESPRESSO_AI_USER TO USER ESPRESSO_AI_USER;
CREATE ROLE IF NOT EXISTS ESPRESSO_AI_USER
COMMENT = 'Used by Espresso AI';
GRANT ROLE ESPRESSO_AI_USER TO USER ESPRESSO_AI_USER;
-- Allow Espresso AI to query Snowflake metadata
GRANT IMPORTED PRIVILEGES ON DATABASE SNOWFLAKE
TO ROLE ESPRESSO_AI_USER;
-- Allow Espresso AI to securely export data
ALTER USER ESPRESSO_AI_USER
SET PREVENT_UNLOAD_TO_INLINE_URL = false;
-- Allow Espresso AI to monitor warehouses
GRANT MONITOR USAGE ON ACCOUNT
TO ROLE ESPRESSO_AI_USER;
-- Give Espresso AI the ability to modify warehouses
GRANT MANAGE WAREHOUSES ON ACCOUNT
TO ROLE ESPRESSO_AI_USER;
-- Set up a warehouse for Espresso AI queries to run on
CREATE WAREHOUSE IF NOT EXISTS
ESPRESSO_AI_WH WAREHOUSE_SIZE=XSMALL
AUTO_SUSPEND=60 INITIALLY_SUSPENDED=TRUE
COMMENT = 'Used by Espresso AI';
GRANT MONITOR, OPERATE, USAGE, MODIFY
ON WAREHOUSE ESPRESSO_AI_WH
TO ROLE ESPRESSO_AI_USER;Share account details
Optional: IP allowlist
Need help?
Last updated