Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

DataSync for Snowflake is a bi-direction (ServiceNow <> Snowflake) integration that Bulk Shares and Dynamic shares to synchronize data for the collection of ServiceNow data into a Snowflake data warehouse, and vice versa.

Anchor
top
top


Panel
titleWhat's on this page?

Table of Contents
maxLevel2
absoluteUrltrue
excludePrerequisites



Warning
iconfalse

(warning) WARNING:

  • If you will be setting up the DataSync Agent to also connect to the same database, you will want to configure the Agent to use the same column cases. By default, the Snowflake Bulk Load Meshlet uses lowercase for the column names. Also, the QUOTED_IDENTIFIERS_IGNORE_CASE setting in Snowflake should be kept with its default value of false.





Set up a ServiceNow to Snowflake Integration


Prerequisites


(warning) Request the databaseConfig.json file for your meshlet by contacting Perspectium Support.
(warning) Database, Warehouse, and Schema will not be created by the meshlet and are expected to be supplied on use.

(warning) The meshlet connects to Snowflake using a JDBC driver with a specified <user> and <password>. The user must have the role of SYSADMIN or a custom role of equivalent privileges in order to create objects (tables) and write records.

See Snowflake's list of default roles here.


Related to the meshlet's minimum database user requirements, the following Snowflake access control privileges are needed by the Snowflake role/user configured in the meshlet:

ObjectPrivileges
Virtual WarehouseUSAGE
DatabaseUSAGE
Schema*USAGE, CREATE TABLE, CREATE FILE FORMAT, CREATE STAGE
Table^SELECT, INSERT, UPDATE, DELETE, TRUNCATE
StageWRITE
File FormatUSAGE

*The meshlet will executed the SHOW <objects> command. As long as the role/user has one privilege on the Schema (and it needs the ones listed above), then it will have the ability to execute this command.

^The meshlet will use the ALTER TABLE command to add new columns to tables when a new column is created in ServiceNow. The INSERT privilege allows executing this command. The meshlet uses MERGE for inserting, updating and deleting records from a table and having the above privileges allows it to run this command.


To get started with ServiceNow to Snowflake integration, follow these steps:


UI Steps
sizesmall


UI Step

Create a ServiceNow bulk/dynamic share for Snowflake


UI Step

In the Databases page in Snowflake, click Create... to create a new database. Then, fill in the Name field and click Finish. 


UI Step

Install and Run the Snowflake Bulk Load Meshlet as a Service


UI Step

Set up the desired configurations in your Snowflake Meshlet


↑ Go to top of page





Show If
special@authenticated

Set up a Snowflake to ServiceNow integration

(info) NOTE: This meshlet is designed to work in conjunction with the Snowflake Bulk Loading Meshlet.

Prerequisites


(warning) Add a column psp_time (can be named anything) to all tables to be shared. Use the following commands: 

Code Block
alter table incident add column psp_time TIMESTAMP_NTZ;

(warning) Add change tracking = true to all tables to be shared. Use the following commands: 

Code Block
alter table incident set change_tracking = true;

To get started with Snowflake to ServiceNow integration, follow these steps:

UI Steps
sizesmall


UI Step

Update the psp_time column in conjunction with the data you want shared. The query service will locate the records with a psp_time between current time and the last iteration of the query.

For example: 

Code Block
update incident
set psp_time = SYSDATE(), short_description = 'updated value to be shared'
where sys_id = ‘1234567890’



UI Step

Install and Run the Snowflake Bulk Load Meshlet as a Service


UI Step

Set up the desired configurations in your Snowflake Meshlet




Create a ServiceNow bulk/dynamic share for Snowflake 
Anchor
share
share

To enable the sharing of ITSM data from your ServiceNow instance to your Snowflake instance, you will need to create a ServiceNow bulk share and/or dynamic share. A ServiceNow bulk share is a one-time transfer of data from your ServiceNow instance. A ServiceNow dynamic share allows for real time sharing of ServiceNow records as they are created, updated, and deleted. Creating a bulk share and/or dynamic share will share out your ServiceNow data immediately as well as share out subsequent data that is collected as ServiceNow records are created, updated, and deleted.

Prerequisites

(warning) You will first need to install the Perspectium Core update set. You can request a download link for this update set by contacting Perspectium Support.

(warning) You will also need to have a ServiceNow shared queue that points to your Snowflake instance. This queue should have been created by Perspectium Support upon initial configuration of your ServiceNow instance.

Procedure

To create a bulk share, follow these steps: 

UI Steps
sizesmall


UI Step

Go to your ServiceNow instance. Then, navigate to Perspectium > Perspectium Core > Shares > Bulk Share.


UI Step

Click the New button next to Bulk Shares. In the resulting form's Cipher dropdown, select an encryption type to be used. Then, follow the remaining steps to create a ServiceNow bulk share for DataSync for ServiceNow (DataSync). 



To create a dynamic share, follow these steps: 

UI Steps
sizesmall


UI Step

Go to your ServiceNow instance. Then, navigate to Perspectium > Perspectium Core > Shares > Dynamic Share.


UI Step

Click the New button next to Bulk Shares. In the resulting form's Cipher dropdown, select an encryption type to be used. Then, follow the remaining steps to create a ServiceNow dynamic share for DataSync for ServiceNow (DataSync). 



↑ Go to top of page