Tutorial: Installation des Snowflake-ServiceNow®-Datenaufnahme-Konnektors¶
Einführung¶
In diesem Tutorial lernen Sie, den Snowflake Connector für ServiceNow® mithilfe des Snowsight-Assistenten zu konfigurieren und zu verstehen, einige Tabellen auszuwählen, Daten aufzunehmen und eine Beispielabfrage auszuführen.
Diese Tutorial erhebt keinen Anspruch auf Vollständigkeit. Informieren Sie sich unter Allgemeine Informationen zum Snowflake Connector for ServiceNow®V2 über den vollen Funktionsumfang und die aktuellen Einschränkungen.
Bemerkung
In diesem Tutorial wird davon ausgegangen, dass Sie noch kein ServiceNow®-Konto haben, sodass in den ersten Schritten ein Entwicklerkonto erstellt wird. Wenn Sie ein Servicenow®-Konto haben, können Sie es gerne ausprobieren, allerdings mit dem Vorbehalt, dass der Snowflake Connector für ServiceNow® den Nutzungsbedingungen für Konnektoren (Connector Terms) unterliegt.
Voraussetzungen¶
Bevor Sie mit diesem Tutorial beginnen, vergewissern Sie sich, dass Sie die folgenden Voraussetzungen erfüllen:
ORGADMIN
-Rechte, um den Snowflake-Nutzungsbedingungen von Snowflake Marketplace zustimmen zu können.ACCOUNTADMIN
-Rechte auf dem Snowflake-Konto, auf dem Sie den Konnektor installieren möchten.
Lerninhalte¶
In diesem Tutorial lernen Sie Folgendes:
Einrichten des Snowflake Connector für ServiceNow®
Aufnehmen von ServiceNow®-Daten in Snowflake
Anhalten des Konnektors, um unnötige Kosten in einer Entwicklungsumgebung zu vermeiden
Was Sie benötigen¶
Was Sie erstellen werden¶
Einen ServiceNow®-zu-Snowflake-Datenaufnahmefluss
ServiceNow®-Entwicklerinstanz einrichten¶
Wenn Sie diesen Konnektor nicht auf Ihrem ServiceNow®-Konto testen möchten, können Sie eine Entwicklerinstanz verwenden. In diesem Abschnitt wird beschrieben, wie Sie eine Entwicklerinstanz einrichten.
Rufen Sie die ServiceNow®-Entwickler-Website auf, und erstellen Sie einen Entwicklerbenutzer.
Melden Sie sich mit Ihrem neu erstellten Benutzer bei der Entwickler-Website an, und wählen Sie Create an Instance aus.
Wählen Sie einen Instanztyp aus. Sie erhalten eine E-Mail mit Ihrer Instanz-URL sowie Ihrem Benutzer und Kennwort.
Die Bereitstellung geht in der Regel recht schnell, etwa fünf Minuten. Aber während Sie warten, lassen Sie uns zum nächsten Schritt übergehen und Snowflake konfigurieren!
Snowflake-Konto erstellen und einrichten¶
Snowflake-Konto erstellen¶
Wenn Sie noch kein Konto bei Snowflake haben, können Sie eine kostenlose Testversion unter snowflake.com erhalten. Wählen Sie Start for Free, und folgen Sie den Anweisungen.
Geschäftsbedingungen akzeptieren¶
Melden Sie sich über die Weboberfläche von Snowsight bei Ihrem Snowflake-Konto an, und wechseln Sie zur Rolle
ORGADMIN
.Wählen Sie Admin » Billing & Terms aus.
Lesen Sie im Abschnitt Snowflake Marketplace die Nutzungsbedingungen für Verbraucher.
Wenn Sie mit den Bedingungen einverstanden sind, klicken Sie auf Accept Terms & Conditions.
Virtuelles Warehouse einrichten¶
Konnektoren benötigen ein virtuelles Warehouse. Um das gewünschte Warehouse zu erstellen, gehen Sie wie folgt vor:
Wechseln Sie zur Rolle ACCOUNTADMIN
.
Navigieren Sie zu Admin -> Warehouses, und wählen Sie + Warehouse aus.
Geben Sie
CONNECTOR_UI_WH
als Name des Warehouses an und XS als Größe, und lassen Sie alle anderen Einstellungen unverändert.Wählen Sie Create Warehouse aus.
ServiceNow®-Konnektor installieren¶
Der Konnektor wird über den Snowflake Marketplace bereitgestellt und ist für alle Snowflake-Kunden verfügbar. Einmal ausgewählt, wird er in Ihrem Konto als Anwendung mit mehreren Ansichten und gespeicherten Prozeduren installiert.
Wählen Sie im linken Menü Data Products und dann Marketplace aus.
Geben Sie im Suchfenster
ServiceNow
ein, und wählen Sie die Kachel aus.Schauen Sie sich die Geschäftsanforderung und die Nutzungsbeispiele an.
Wählen Sie Get aus.
Wählen Sie das zuvor erstellte Warehouse
CONNECTOR_UI_WH
aus.Wählen Sie Options aus.
Übernehmen Sie für dieses Tutorial den Standardnamen für die Installationsdatenbank:
Snowflake_Connector_for_ServiceNow
. Wählen Sie keine weiteren Rollen aus.Wählen Sie Get aus.
Snowflake Connector for ServiceNow
zeigt an, dass der Konnektor jetzt einsatzbereit ist.Wählen Sie Done aus. Die Verwaltungsoptionen werden im nächsten Abschnitt erläutert.
Prüfen Sie als Nächstes, ob der Konnektor installiert wurde. Gehen Sie dazu von Snowsight aus zu Data Products -> Apps. Sie sollten eine neue installierte Anwendung mit dem Namen Snowflake_Connector_for_ServiceNow sehen.
Navigieren Sie in Data -> Databases zum öffentlichen Schema, und prüfen Sie die neu verfügbaren Ansichten und Prozeduren.
Alle Voraussetzungen erfüllen¶
Starten Sie den Snowflake Connector für ServiceNow® über Data Products -> Apps -> Snowflake Connector for ServiceNow. Sie erhalten eine Liste von Aufgaben, die erledigt werden müssen, bevor der Konnektor mit der Datenaufnahme beginnen kann. Lesen Sie die folgenden Beschreibungen sorgfältig durch, und füllen Sie alles aus.
In einem der letzten Schritte werden Sie aufgefordert, eine Anwendungsregistrierung zu erstellen, falls Sie die OAuth2-Authentifizierung aktivieren möchten. Die nächsten Schritte werden sich darauf konzentrieren.
Für den nächsten Abschnitt empfehlen wir Ihnen, zwei Browser-Tabs zu öffnen, damit Sie bestimmte Daten von Snowflake in ServiceNow® kopieren können:
Verwenden Sie in Snowflake den Konnektor, um die Weiterleitungs-URL zu erstellen, die in die Anwendungsregistrierung eingefügt wird.
Von ServiceNow® aus müssen Sie über die Anwendungsregistrierung die Client-ID und das Geheimnis bereitstellen, die Sie dann in Snowflake einfügen.
In Snowflake¶
Kopieren Sie die Weiterleitungs-URL. Sie werden sie im nächsten Abschnitt benötigen.
Öffnen Sie in Ihrem Browser eine neue Registerkarte (ohne die obige zu schließen), und führen Sie die Schritte im nächsten Abschnitt aus.
In ServiceNow®¶
Melden Sie sich bei Ihrer ServiceNow®-Entwicklerinstanz an.
Wählen Sie auf der Hauptseite All aus, und suchen Sie Application Registry.
Wählen Sie in der rechten oberen Ecke des Fensters New aus.
Wählen Sie Create an OAuth API endpoint for external clients aus.
Geben Sie dem Endpunkt einen Namen, z. B. Snowflake_connector. Lassen Sie das Client-Geheimnis leer, da der Wert später im Verfahren automatisch ausgefüllt wird.
Fügen Sie die Weiterleitungs-URL ein, die auf Snowflake-Seite erstellt wurde.
Wählen Sie Submit aus. Das Fenster schließt sich.
Wählen Sie die soeben erstellte Registrierung aus, um sie erneut zu öffnen. Beachten Sie, dass die Client-ID und das Client-Geheimnis automatisch generiert werden.
Schließen Sie die Browser-Registerkarte ServiceNow® nicht, oder bewahren Sie die Client-ID und das Client-Geheimnis an einem sicheren Ort auf, Sie werden sie später noch benötigen.
Kehren Sie zur Registerkarte mit der Snowflake-Konfiguration zurück.
Konnektor konfigurieren¶
Wählen Sie Start configuration aus. Der Konfigurieren-Bildschirm wird angezeigt. Standardmäßig werden die Felder auf die Namen der Objekte gesetzt, die bei der Konfiguration des Konnektors erstellt wurden. Sie können auch vorhandene Objekte verwenden. Das ausgewählte virtuelle Warehouse wird vom Konnektor für die Datenaufnahme im Hintergrund verwendet.
Lesen Sie Konfigurieren des Snowflake Connector for ServiceNow®V2 für weitere Informationen.
Wählen Sie Configure aus.
Beachten Sie, dass es einige Minuten dauern kann, bis der Konfigurationsprozess abgeschlossen ist.
Bemerkung
In diesem Schritt wurde ein Large Warehouse erstellt, dessen automatische Aussetzung auf zehn Minuten eingestellt ist. Wenn Sie die stündliche Aktualisierung einstellen, wird das Large-Warehouse (8 Credits/Stunde) jede Stunde für mindestens 10 Minuten aufgeweckt. Für dieses Tutorial ist dies nicht erforderlich. Rufen Sie Admin -> Warehouses -> SERVICENOW_WAREHOUSE -> … > Edit auf, und ändern Sie die Größe in XSMALL und das automatische Timeout auf 1 Minute. In einem realen Anwendungsfall wird oft ein Large-Warehouse benötigt.
Bemerkung
Sie sollten einen Ressourcenmonitor mit dem SERVICENOW_WAREHOUSE
verbinden. Um einen Ressourcenmonitor anzuhängen, navigieren Sie zu Admin » Resource Monitors, wählen Sie Resource Monitor aus, und erstellen Sie dann einen Warehouse-Ressourcenmonitor.
Snowflake-zu-ServiceNow®-OAuth2-Handshake einrichten¶
Wählen Sie OAuth2 als Authentifizierungsmethode aus.
Geben Sie die Details zur ServiceNow®-Instanz ein. Dies ist der erste Teil des ServiceNow®-URL für Ihr ServiceNow®-Konto, ohne
https://*
-Protokoll und das nachstehendeservice-now.com
.Fügen Sie die Client id und die Client secret von ServiceNow® in den Snowflake-Assistenten ein.
Wählen Sie Connect aus. Ihre ServiceNow®-Konten werden angezeigt, und Sie werden aufgefordert, sich mit Snowflake zu verbinden.
Wählen Sie Allow aus. Die Verbindung zwischen den beiden Systemen wird hergestellt.
Um die Verbindung zu überprüfen, wählen Sie die drei Punkte […] und dann View Details aus. Oben im Popup-Fenster sehen Sie das Datum, an dem ServiceNow authentifiziert wurde.
Bemerkung
Wenn Sie Probleme feststellen, wurde das Client-Geheimnis vielleicht nicht kopiert. Entsperren Sie das Feld für das Kennwort, kopieren Sie den Text, und fügen Sie ihn ein.
Löschsynchronisation konfigurieren¶
Wenn Sie möchten, dass nicht nur Einfügungen und Aktualisierungen, sondern auch Löschungen mit Snowflake synchronisiert werden, müssen Sie den Namen der Journaltabelle angeben. Standardmäßig verwendet ServiceNow® die Tabelle sys_audit_delete
, um Informationen zu gelöschten Datensätzen zu speichern. Sie können diesen Namen also angeben. Wenn Löschungen für Sie nicht wichtig sind, können Sie dieses Feld leer lassen.
Wählen Sie Validate aus, um zu prüfen, ob der Konnektor eine Verbindung zum Quellsystem herstellen kann und Zugriff auf alle erforderlichen Tabellen hat. Es kann einige Minuten dauern, bis der Prozess abgeschlossen ist. Wenn Sie fertig sind, wählen Sie Define data to sync aus, um Tabellen für die Datenaufnahme auszuwählen.
ServiceNow®-Tabellen auswählen¶
Bemerkung
Beachten Sie folgende Hinweise:
Der Konnektor kann nur Tabellen mit
sys_id
-Spalten erfassen.ServiceNow®-Ansichten werden nicht unterstützt. Wenn Sie Ansichten erfassen möchten, müssen Sie alle Tabellen der zugrunde liegenden Ansicht synchronisieren und die synchronisierten Tabellen in Snowflake verknüpfen.
Inkrementelle Aktualisierungen erfolgen nur für Tabellen mit
sys_updated_on
- odersys_created_on
-Spalte.Für Tabellen, die keine
sys_updated_on
- odersys_created_on
-Spalte haben, verwendet der Konnektor den Modustruncate and load
(Abschneiden und Laden). In diesem Modus wird die Tabelle immer nach dem Ansatz „Erstmaliges Laden“ aufgenommen, wobei die neu aufgenommenen Daten die alten Daten ersetzen.
Wählen Sie im Fenster Snowflake Connector for ServiceNow in der oberen Leiste Data Sync aus.
Um unsere Testabfrage später ausführen zu können, müssen wir ein paar Tabellen einlesen. Geben Sie im Suchfenster incident ein, aktivieren Sie das Kontrollkästchen daneben, und wählen Sie eine Synchronisierungszeit von 30 Minuten aus.
Um andere Tabellen auszuwählen, leeren Sie das Suchfeld, geben Sie den Tabellennamen ein, und aktivieren Sie das Kontrollkästchen. Tun Sie dies zumindest für die Tabelle
task
.
Bemerkung
Tipp: Leeren Sie die Suchfelder, und wählen Sie dann den Titel Status aus, um alle von Ihnen ausgewählten Tabellen zu sortieren und anzuzeigen.
Wählen Sie Start Sync aus. Das Auswahlfenster wird geschlossen, und Sie erhalten die Meldung Syncing Data aus dem Hauptfenster des Konnektors. Zusätzlich zu den von Ihnen gewählten Tabellen werden auch drei Systemtabellen geladen. Diese sind notwendig, um die Ansichten auf die Rohdaten zu erstellen:
sys_dictionary
,sys_db_object
undsys_glide_object
.
Sie erhalten eine Meldung über den Erfolg. Sie erscheint, sobald mindestens eine Tabelle vollständig aufgenommen wurde.
Bemerkung
Brechen Sie die Datenaufnahme nicht vorzeitig ab. Stellen Sie zuerst sicher, dass die Ansichten in der Zieldatenbank erstellt werden.
Konnektorüberwachung¶
Öffnen Sie ein Arbeitsblatt, um den Status des Konnektors zu überprüfen. Hier sind einige Beispiele für SQL-Abfragen, die Sie ausführen können, um Überwachungsinformationen zu erhalten:
// Return general information about all ingestions
SELECT * FROM SNOWFLAKE_CONNECTOR_FOR_SERVICENOW.public.connector_stats;
// Search for information about particular table ingestions
SELECT * FROM SNOWFLAKE_CONNECTOR_FOR_SERVICENOW.public.connector_stats WHERE table_name = '<table_name>';
// Examine connector configuration
SELECT * FROM SNOWFLAKE_CONNECTOR_FOR_SERVICENOW.public.connector_configuration;
// Calculate ingested data volume
SELECT
table_name,
sum(ingested_rows) AS row_count
FROM SNOWFLAKE_CONNECTOR_FOR_SERVICENOW.public.connector_stats
GROUP BY table_name
ORDER BY table_name;
// General connector statistics
SELECT * FROM SNOWFLAKE_CONNECTOR_FOR_SERVICENOW.public.connector_overview;
Konfigurieren des Zugriffs auf die aufgenommenen Daten¶
Der Konnektor stellt die Anwendungsrolle DATA_READER
zur Verfügung. Diese Rolle hat Lesezugriff auf alle aufgenommenen Daten im Zielschema. Sie wird automatisch der Rolle zugewiesen, die während des Installationsvorgangs im Schritt Konfigurieren angegeben wurde. Auf dem Screenshot weiter oben in diesem Leitfaden wurde sie SERVICE_NOW_RESOURCES_PROVIDER
genannt. Sie können bei Bedarf entweder die Anwendungsrolle oder die Kontorolle weiter zuweisen.
Abfragen auf den Daten ausführen¶
Prüfen Sie die Tabellen, die der Konnektor unter dem Zielschema der Zieldatenbank erstellt hat. Für jede Tabelle in ServiceNow®, die für die Synchronisierung konfiguriert ist, erstellt der Konnektor die folgenden Tabellen und Ansichten:
Eine Tabelle mit demselben Namen, die die Daten in Rohform enthält, wobei jeder Datensatz in einer einzigen
VARIANT
-Spalte enthalten ist.Eine Ansicht mit dem Namen
table_name__view
, die die Daten in vereinfachter Form enthält, wobei die Ansicht eine Spalte für jede Spalte der Originaltabelle und eine Zeile für jeden in der Originaltabelle vorhandenen Datensatz enthält.
Bemerkung
Nach dem Start des Konnektors kann es einige Zeit dauern, bis die Ansichten erstellt sind. Das Erstellen der Ansichten stützt sich auf Daten in den ServiceNow®-Tabellen sys_db_object
, sys_dictionary
und sys_glide_object
. Der Konnektor lädt Metadaten aus diesen ServiceNow®-Tabellen, nachdem Sie eine beliebige Tabelle für die Synchronisierung aktiviert haben. Es kann einige Zeit dauern, bis der Konnektor diese Metadaten geladen hat. Halten Sie das Warehouse nicht an, während die Ansichten erstellt werden.
Eine Ansicht namens
table_name__view_with_deleted
, die dieselben Daten wietable_name__view
enthält sowie Zeilen für Datensätze, die in ServiceNow® gelöscht wurden.Eine Tabelle
table_name__event_log
, die den Änderungsverlauf enthält, den der Konnektor von ServiceNow® abruft.
Um die Rohdaten abzufragen, lesen Sie Zugriff auf die Rohdaten. Um die Ansichten abzufragen (empfohlen), lesen Sie Zugriff auf die vereinfachten Daten.
Abfrage zur Ermittlung der Anzahl von Vorfällen nach Monat und Priorität¶
Hier ist eine Testabfrage, mit der die Anzahl der ausgelösten Vorfälle nach Monat und Priorität ermittelt werden soll. Weitere Beispielabfragen finden Sie auf der Snowflake Connector für ServiceNow®-Seite in Marketplace.
USE ROLE SERVICE_NOW_RESOURCES_PROVIDER;
USE DATABASE SERVICENOW_DEST_DB;
USE SCHEMA DEST_SCHEMA;
WITH T1 AS (
SELECT
DISTINCT
T.NUMBER AS TICKET_NUMBER,
T.SHORT_DESCRIPTION,
T.DESCRIPTION,
T.PRIORITY,
T.SYS_CREATED_ON AS CREATED_ON,
T.SYS_UPDATED_ON AS UPDATED_ON,
T.CLOSED_AT
FROM TASK__VIEW T
LEFT JOIN INCIDENT__VIEW I
ON I.SYS_ID = T.SYS_ID -- ADDITIONAL INCIDENT DETAIL
WHERE I.SYS_ID IS NOT NULL -- THIS CONDITION HELPS KEEP JUST THE INCIDENT TICKETS
)
SELECT
YEAR(CREATED_ON) AS YEAR_CREATED,
MONTH(CREATED_ON) AS MONTH_CREATED,
PRIORITY,
COUNT(DISTINCT TICKET_NUMBER) AS NUM_INCIDENTS
FROM T1
GROUP BY
YEAR_CREATED,
MONTH_CREATED,
PRIORITY
ORDER BY
YEAR_CREATED,
MONTH_CREATED,
PRIORITY
;
Gewähren von Zugriff auf den Konnektor¶
Der Konnektor stellt zwei Anwendungsrollen zur Verfügung, die über die für den Zugriff auf die Daten in der Zieldatenbank verwendete Rolle hinausgehen:
Die Rolle
VIEWER
hat Nur-Lese-Zugriff auf die Konfiguration und den Status des Konnektors.Die Rolle
ADMIN
, die die Konnektorkonfiguration ändern und die Datenaufnahme aktivieren/deaktivieren kann
Um Fehler zu überwachen, Statistiken auszuführen, Konnektor-Statistiken zu prüfen und aktivierte Tabellen zu untersuchen, können Sie eine ServiceNow®-Überwachungsrolle einrichten, die Zugriff auf die Ansichten und schreibgeschützten Prozeduren in der Konnektor-Datenbank erlaubt.
Führen Sie zum Beispiel Folgendes in einem Arbeitsblatt aus (und verwenden Sie dann die Rolle):
USE ROLE accountadmin;
CREATE ROLE IF NOT EXISTS servicenow_monitor_role;
GRANT APPLICATION ROLE SNOWFLAKE_CONNECTOR_FOR_SERVICENOW.viewer TO ROLE servicenow_monitor_role;
GRANT USAGE ON WAREHOUSE SERVICENOW_WAREHOUSE TO ROLE servicenow_monitor_role;
Datenaufnahme stoppen¶
Da wir in diesem Tutorial nur die Daten aufnehmen, ist es sinnvoll, die Datenaufnahme nach dem erstmaligen Laden zu beenden. In einer Produktionsumgebung würden Sie den Konnektor jedoch nicht anhalten.
Bemerkung
Wenn Sie den Konnektor nicht anhalten, wird er das virtuelle Warehouse in dem angegebenen Zeitintervall aufwecken und Credits verbrauchen.
Wählen Sie in Snowsight die Kachel Snowflake Connector for ServiceNow aus.
Wählen Sie im Snowflake Connector for ServiceNow-Fenster die Option Pause Connector aus.
Konnektor deinstallieren (aber nicht die Daten)¶
Wenn Sie das Tutorial abgeschlossen haben oder den Konnektor aus irgendeinem Grund nicht mehr benötigen, können Sie ihn einfach über den Snowflake Marketplace deinstallieren.
Wählen Sie Datenprodukte und dann Apps aus.
Wählen Sie bei dem Element auf der Liste, das die Konnektor-App darstellt, das Drei-Punkte-Symbol aus.
Wählen Sie Deinstallieren aus.
Entscheiden Sie, ob Sie die Objekte, die in Eigentümerschaft der Anwendung sind (Tabellen und Ansichten mit aufgenommenen Daten im Zielschema), löschen oder die Eigentümerschaft an eine andere Rolle übertragen möchten.
Wählen Sie Deinstallieren aus.
Fazit und Ressourcen¶
Herzlichen Glückwunsch! Sie haben den Snowflake Connector für ServiceNow® erfolgreich installiert und konfiguriert, Daten aufgenommen und eine Abfrage ausgeführt, um Erkenntnisse über Vorfälle und Prioritäten zu gewinnen.
Zusammenfassung
Einrichten des Snowflake Connector für ServiceNow®
Aufnehmen von ServiceNow®-Daten in Snowflake
Anhalten des Konnektors, um unnötige Kosten in einer Entwicklungsumgebung zu vermeiden