Snowflake
This page describes how to configure Snowflake credentials for use by Census and why those permissions are needed.
Required Permissions
These instructions are well tested to connect Census to Snowflake. If you're running into connection issues or missing tables or views, please confirm you've run all of these instructions.
Census reads data from one or more tables (possibly across different schemata) in your data warehouse and publishes it to the corresponding objects in destinations such as Salesforce. To limit the load on your database as well as external APIs, Census computes a “diff” to determine changes between each update. In order to compute these diffs, Census creates and writes to a number of tables in the CENSUS
schema. In order for the Census connection to work correctly, the account you provide to Census must have these permissions:
Full access to the
CENSUS
database and theCENSUS
schema in that database. Skip this step if working in read-only mode.Read-only access to any tables and views in any schemata from which you want Census to publish
The
CENSUS
database and schema are reserved for Census's bookkeeping operations. Do not place your source data here, as this database is inaccessible inside Census syncs.
Snowflake permissions are complex and there are many ways to configure access for Census. The script below is known to work correctly and follows Snowflake's best practices for creating read-only roles in a role hierarchy:
🔩Configuring a new Snowflake connection
Visit the Sources section on Census, and press New Source, selecting Snowflake from the list.
Census will ask you to provide the following:
Snowflake Account Name
This is the URL prefix you use to connect or log into Snowflake. It may include a service region or cloud provider:
See the Snowflake documentation for more information about the supported options.
Query Execution Warehouse - this should match the warehouse you've created in the above instructions - for example
CENSUS_WAREHOUSE
User - the user you use to log into Snowflake
Database Name (optional) - default database to log into
Schema Name (optional) - default schema to log into
Authentication - choose one of the following
password - recommended.
keypair - After saving the connection, Census will generate a public/private keypair and provide instructions for configuring your Snowflake user account to use it.
Once you provide the required information, click Connect to finish the connection to Snowflake.
After the connection is saved, go ahead and press the Test button. This will validate that you've completed the above steps correctly. Once you've got a checkmark for all four steps, you're good to go!
💸 Managing Snowflake Warehouse Costs
The script above creates a new virtual data warehouse (execution environment) for Census. This allows you to monitor and tune Census queries for the best balance of performance and speed.
The script above creates the smallest available virtual warehouse ("X-Small") and configures it to aggressively auto-suspend if not in use, which makes the best use of your Snowflake account credits. However, some Census jobs (especially involving lots of data or complex models) will benefit from a larger warehouse. You can use Snowflake's ALTER WAREHOUSE command to adjust the size of the CENSUS warehouse and tune it for your workload. Alternatively, if cost concerns are an issue, you can also share a warehouse with other batch processing systems (for example Segment, Fivetran, dbt, etc). You may also want to adjust the schedules of your Census syncs. Using Hourly and Daily syncs that are scheduled at the same time, rather than Continuous or every 15 minutes will give the largest continuous idle periods and save on account credits.
🔗 Connecting to Snowflake on AWS VPS or via PrivateLink
Connecting to a Snowflake instance running on AWS VPS or via PrivateLink requires a modified connection configuration. Please contact your Census account manager to have this configured for you.
Allowed IP Addresses
If you're using Snowflake's Allowed IPs network policy, you'll need to add these Census IP addresses to your list. You can find Census's set of IP address for your region in Regions & IP Addresses. Visit the Snowflake Help Center for more details on how to specify these IPs as part of your network policy.
⚡ Change tracking for Live Syncs
If you are trying to use Live Syncs you may need to modify the settings on the source table(s) as follows:
Need help connecting to Snowflake?
Contact us via support@getcensus.com or start a conversation with us via the in-app chat.
Last updated