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