Skip to content

Prerequisites ​

Network traffic to Indexima ​

Data viz tools or servers will have to query indexima. They need to be able to access *.sf.indexima.io

To check it's the case, run the following command from a computer or server that runs your Dataviz tool and check you are Connected as a result.

sh
telnet sf.indexima.io 443
Connected to sf.indexima.io.

Network traffic to Snowflake ​

In case you use Snowflake Network Policies to restrict access to your Snowflake account, please whitelist the two outbound IPs of Indexima for Snowflake: 52.47.136.224 and 13.39.134.180. You can refer to Snowflake documentation to modify your network policy.

Tables change-tracking ​

In order to create Dynamic Tables, Snowflake change-tracking needs to be enabled on your tables. If this is not already the case (if you never used STREAM or DYNAMIC TABLES), please enable change-tracking on your tables with the following command:

sql
ALTER TABLE <table> SET CHANGE_TRACKING = TRUE;

In case you need to enable change-tracking on numerous tables, for a specific combo of <database>.<schema>, you can execute the following procedure on Snowflake to enable change tracking on all tables in this <database>.<schema>.

sql
DECLARE
  c1 CURSOR FOR (select table_catalog, table_schema, table_name from <database>.information_schema.tables where table_type='BASE TABLE' and IS_DYNAMIC = 'NO');
BEGIN
  FOR record IN c1 DO
    EXECUTE IMMEDIATE ('ALTER TABLE "' || record.table_catalog || '"."' || record.table_schema || '"."' || record.table_name || '" SET CHANGE_TRACKING = TRUE;');
  END FOR;
END;

For Snowflake model generated with DBT, see also this tip.

Authorise dataviz users to query Dynamic Tables ​

Indexima will redirect your queries to Snowflake Dynamic Tables. The Snowflake users used in your dataviz tool needs to be allowed to query Dynamic Tables:

sql
GRANT SELECT ON ALL DYNAMIC TABLES IN SCHEMA <database>.<schema> TO ROLE <dataviz_role>;
GRANT SELECT ON FUTURE DYNAMIC TABLES IN SCHEMA <database>.<schema> TO ROLE <dataviz_role>;

Create a service user ​

Indexima for Snowflake requires a Snowflake user to analyze your datamodel and create Dynamic Tables automatically. Please refer to our service user documentation.