Schneeflocken-Verbinder
  • 13 May 2024
  • 3 Minuten zu lesen
  • Mitwirkende

Schneeflocken-Verbinder


Artikel-Zusammenfassung

Abfrage von Informationen aus Snowflake zur Verwendung mit Tulip-Anwendungen

Zielgruppe

Bitte beachten Sie, dass die Snowflake-Integration eine technische Angelegenheit ist und Ihr IT-Support möglicherweise die entsprechenden Objekte, Rollen und Berechtigungen erstellen muss.

Support-Kontakt

Dieser Connector wurde in Zusammenarbeit mit Spaulding Ridge entwickelt. Für weitere Informationen oder Fragen wenden Sie sich bitte an Spaulding Ridge unter info@spauldingridge.com

Zweck

Der Snowflake-Konnektor vereinfacht die Abfrage von Informationen aus einer Snowflake Data Cloud. Die Snowflake SQL REST API Dokumentation finden Sie hier.

Hinweise zum Konnektor

Der Snowflake-Konnektor kann einzelne Datensätze relativ einfach bearbeiten. Für die Abfrage mehrerer Datenzeilen oder die Bearbeitung von Ausgaben in Tulip (interaktive Tabelle usw.) können benutzerdefinierte Widgets erforderlich sein.

Snowflake OAuth verwendet den in Snowflake integrierten OAuth-Dienst und unterstützt Tulip als benutzerdefinierten Client. Die Snowflake OAuth-Dokumentation finden Sie hier. Details zur Konfiguration des benutzerdefinierten Clients finden Sie hier.

Einrichtung

In diesem Abschnitt wird beschrieben, wie ein OAuth-Token vom OAuth-Server von Snowflake konfiguriert wird, um eine Verbindung mit Tulip als Client herzustellen, sowie die Schritte zur Einrichtung des Snowflake-Connectors in Tulip.

Schritt 1: Registrieren von Tulip als Client-Anwendung in Snowflake

Melden Sie sich bei Ihrer Snowflake-Instanz mit einem Benutzer an, der die Rolle/Privileg hat, Sicherheitsintegrationen zu erstellen und zu verwalten (ACCOUNTADMIN).

Erstellen Sie ein neues SQL-Arbeitsblatt im Lager COMPUTE_WH.

Führen Sie das folgende Script aus, um eine Sicherheitsintegration vom Typ OAuth zu erstellen. Vergessen Sie nicht, die Werte für INTEGRATION_NAME, TULIP_INSTANCE_NAME und TIME_IN_SECONDS zu aktualisieren.

CREATE OR REPLACE SECURITY INTEGRATION <INTEGRATION_NAME> TYPE = OAUTH ENABLED = TRUE OAUTH_CLIENT = CUSTOM OAUTH_CLIENT_TYPE = 'CONFIDENTIAL' OAUTH_REDIRECT_URI = 'https://<TULIP_INSTANCE_NAME>.tulip.co/oauth-redirect-handler' OAUTH_ISSUE_REFRESH_TOKENS = TRUE OAUTH_ISSUE_REFRESH_TOKEN_VALIDITY = <TIME_IN_SECONDS>;

Hinweis: Die Gültigkeit des Refresh Token kann bis zu 90 Tage (7776000 Sekunden) betragen.

Schritt 2: Sammeln Sie Details für die OAuth-Konfiguration in Tulip

Führen Sie die folgenden Befehle aus, um die soeben erstellte Sicherheitsintegration zu beschreiben und notieren Sie die folgenden Details: OAUTH_CLIENT_ID OAUTH_REDIRECT_URI OAUTH_AUTHORIZATION_ENDPOINT OAUTH_TOKEN_ENDPOINT OAUTH_CLIENT_SECRET

DESCRIBE SECURITY INTEGRATION ; SELECT SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('');

Schritt 3: Konfigurieren Sie Ihren Snowflake Connector

Melden Sie sich bei Tulip an und fügen Sie den Snowflake Connector aus der Tulip Bibliothek (Web oder Embedded) hinzu.

Klicken Sie auf die Schaltfläche "Production & Testing & Development", um die Verbindungsdetails wie unten beschrieben zu bearbeiten. Sie können Ihren SNOWFLAKE_ACCOUNT_NAME im OAUTH_AUTHORIZATION_ENDPOINT oder OAUTH_TOKEN_ENDPOINT aus Schritt 2 finden.

Klicken Sie auf "Testen" und "Speichern". Der Connector wird online gehen.

Schritt 4: Bearbeiten Sie die Authentifizierungsdetails Ihres Snowflake Connectors

Klicken Sie auf die Schaltfläche "Production & Testing & Development" und auf die Schaltfläche "Edit Headers".

Wählen Sie als Authentifizierungstyp je nach Ihren Anforderungen entweder "OAuth 2 (Admin)" oder "OAuth 2 (Operator)". Weitere Informationen hierzu finden Sie im Abschnitt "Authentifizierung" des Artikels "So konfigurieren Sie einen Connector".

Bearbeiten Sie die Authentifizierungsfelder unter Verwendung der Angaben aus Schritt 2: Autorisierungscode URL = OAUTH_AUTHORIZATION_ENDPOINT Zugriffstoken URL = OAUTH_TOKEN_ENDPOINT Client ID = OAUTH_CLIENT_ID Client Secret = OAUTH_CLIENT_SECRET

Klicken Sie auf "Testen". Sie werden zum Anmeldefenster Ihres Snowflake-Kontos weitergeleitet.

Ein Benutzer muss sich anmelden. Beachten Sie, dass seine Standardrolle nicht ACCOUNTADMIN, SECURITYADMIN oder ORGADMIN sein darf. Sie können die Standardrolle des Benutzers für OAuth ändern, wie in dieser Snowflake-Ressource beschrieben: Verwalten der Benutzerzustimmung für OAuth.

Nach erfolgreicher Authentifizierung wird eine Meldung zur Zustimmung angezeigt. Bitte lesen Sie diese sorgfältig durch, um die Operation zu verstehen, die durchgeführt wird, und klicken Sie auf "Zulassen". Sie können sich jetzt sicher mit Snowflake von Tulip aus verbinden!

Nutzung

Sie haben zwei Möglichkeiten, den Konnektor zu verwenden:

Beginnen Sie mit der Anpassung der Funktionen der Konnektorvorlage an Ihre spezifischen Anforderungen.

Folgen Sie den Snowflake Unit Test Anweisungen für eine praktische Demonstration der Verwendung des Konnektors für Aufgaben wie: Abrufen aller Tabellendatensätze aus einer Snowflake Tabelle in Tulip, Erstellen eines neuen Datensatzes, Aktualisieren eines bestehenden Datensatzes und Löschen eines Datensatzes.

Vorlagenfunktionen

Der Bibliothekskonnektor enthält die folgenden Vorlagenfunktionen: Vorlage: Datenbank abfragen Beschreibung: Ermöglicht es Ihnen, eine oder mehrere SQL-Anweisungen zur Ausführung zu übermitteln. Methode: POST Endpunkt: /api/v2/statements Referenz: https://docs.snowflake.com/en/developer-guide/sql-api/reference#post-api-v2-statements Vorlage: Check Query Status Beschreibung: Ermöglicht es Ihnen, den Status der Ausführung einer Anweisung zu überprüfen. Methode: GET Endpoint: /api/v2/statements/{statementHandle} Referenz: https://docs.snowflake.com/en/developer-guide/sql-api/reference#get-api-v2-statements-statementhandle Vorlage: Cancel Query Beschreibung: Ermöglicht es Ihnen, die Ausführung einer Anweisung abzubrechen. Methode: POST Endpunkt: /api/v2/statements/{statementHandle}/cancel Verweis: https://docs.snowflake.com/en/developer-guide/sql-api/reference#post-api-v2-statements-statementhandle-cancel

Weitere Referenzen

Dieser Leitfaden der Snowflake-Community enthält zusätzliche Informationen über die Snowflake-Integration


War dieser Artikel hilfreich?