How it works
- Give Rippit a Snowflake user. Rippit needs a service user with its public key, a role that can read your tables, and a warehouse. It logs in with its own key pair, so you never send a password or private key.
list_snowflake_connectionsreturns Rippit’spublic_keyand the setup script below, filled in for your workspace. The script is optional; any user, role and warehouse with the same access works. - Create the connection. Pass the account, user, role and warehouse to
manage_snowflake_connectionwithaction: "create". Rippit logs in to verify it. - Pick tables.
list_snowflake_tableslists what the connection can read.describe_snowflake_tableshows a table’s columns, so you can choose its primary key and updated-at column. Views can’t be imported. - Start the import.
manage_snowflake_importwithaction: "create"runs a full sync right away, then repeats everycadence_hours. Queries run on your warehouse. - Watch it.
list_snowflake_importsshows each import’s status, rows written and last error.
Setup script
Run asACCOUNTADMIN. Replace each <placeholder>; list_snowflake_connections returns this script with Rippit’s public key already filled in.
SNOWFLAKE.ACCOUNT_USAGE.QUERY_HISTORY. From the last 7 days of MERGE, DELETE and UPDATE statements, and dbt incremental builds, it finds the keys and watermark column each table is loaded on, and suggests them as the import’s primary_keys and updated_at_column. Without it, imports work the same; you choose the keys yourself.
Managing imports
manage_snowflake_import also takes update, run, pause, resume, reset and delete.
- Changing
primary_keysorupdated_at_columnreplaces the import with a new table and a full re-pull. deleteremoves the table from Rippit’s table list. Rows already imported stay stored.- A failed import usually needs a fix in Snowflake, such as a permission or a dropped column. Fix it, then use
run.
Fixing a connection
A connection that can’t log in comes back inactive with asetup_error. Fix the issue in Snowflake, then call manage_snowflake_connection with action: "update". update also reconnects a disconnected connection. To change the account, user or region of a verified connection, create a new one.