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;

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>;