Connecteur flocon de neige
  • 13 May 2024
  • 3 Minutes à lire
  • Contributeurs

Connecteur flocon de neige


Résumé de l’article

Interroger les informations de Snowflake pour les utiliser avec les applications de Tulip

Audience

Veuillez noter que l'intégration de Snowflake est technique et peut nécessiter votre support informatique pour créer les objets, rôles et permissions appropriés.

Contact du support

Ce connecteur a été créé en collaboration avec Spaulding Ridge. Pour plus d'informations ou de questions, veuillez contacter Spaulding Ridge à l'adresse info@spauldingridge.com.

Objectif

Le connecteur Snowflake rationalise la manière d'interroger les informations d'un nuage de données Snowflake. La documentation de l'API REST SQL de Snowflake est disponible ici.

Notes sur le connecteur

Le connecteur Snowflake peut manipuler des enregistrements uniques relativement facilement. Des widgets personnalisés peuvent être nécessaires pour interroger plusieurs lignes de données ou manipuler des sorties dans Tulip (table intercative, etc.).

Snowflake OAuth utilise le service OAuth intégré de Snowflake, et supporte Tulip en tant que client personnalisé. La documentation de Snowflake OAuth est disponible ici. Les détails de la configuration du client personnalisé peuvent être trouvés ici.

Configuration

Cette section fournit la procédure pour configurer un jeton OAuth depuis le serveur OAuth de Snowflake pour établir une connectivité avec Tulip en tant que client, ainsi que les étapes pour configurer le connecteur Snowflake dans Tulip.

Etape 1 : Enregistrer Tulip en tant qu'application cliente dans Snowflake

Connectez-vous à votre instance Snowflake avec un utilisateur qui a le rôle/privilège pour créer et gérer les intégrations de sécurité (ACCOUNTADMIN).

Créez une nouvelle feuille de calcul SQL dans l'entrepôt COMPUTE_WH.

Exécutez le script suivant pour créer une intégration de sécurité de type OAuth. N'oubliez pas de mettre à jour les valeurs de INTEGRATION_NAME, TULIP_INSTANCE_NAME et TIME_IN_SECONDS.

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

Remarque : la validité du jeton de rafraîchissement peut aller jusqu'à 90 jours (7776000 secondes).

Étape 2 : Rassembler les détails de la configuration OAuth dans Tulip

Exécutez les commandes suivantes pour décrire l'intégration de sécurité que vous venez de créer et notez les détails suivants : OAUTH_CLIENT_ID OAUTH_REDIRECT_URI OAUTH_AUTHORIZATION_ENDPOINT OAUTH_TOKEN_ENDPOINT OAUTH_CLIENT_SECRET

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

Etape 3 : Configurer votre connecteur Snowflake

Connectez-vous à Tulip et ajoutez le connecteur Snowflake depuis la bibliothèque Tulip (Web ou Embedded).

Cliquez sur le bouton "Production & Testing & Development" pour éditer les détails de la connexion comme ci-dessous. Vous pouvez trouver votre SNOWFLAKE_ACCOUNT_NAME dans le OAUTH_AUTHORIZATION_ENDPOINT ou OAUTH_TOKEN_ENDPOINT de l'étape 2.

Cliquez sur "Test" et "Save". Le connecteur sera mis en ligne.

Étape 4 : Modifier les détails d'authentification de votre connecteur Snowflake

Cliquez sur le bouton "Production & Testing & Development", puis sur le bouton "Edit Headers".

Choisissez le type d'authentification "OAuth 2 (Admin)" ou "OAuth 2 (Operator)" en fonction de vos besoins. Vous trouverez de plus amples informations à ce sujet dans la section Authentification de l'article Comment configurer un connecteur.

Modifiez les champs d'authentification, en utilisant les détails de l'étape 2 : Authorization Code URL = OAUTH_AUTHORIZATION_ENDPOINT Access Token URL = OAUTH_TOKEN_ENDPOINT Client ID = OAUTH_CLIENT_ID Client Secret = OAUTH_CLIENT_SECRET

Cliquez sur "Test". Vous serez dirigé vers la fenêtre de connexion de votre compte Snowflake.

Un utilisateur doit se connecter. Notez que son rôle par défaut ne doit pas être ACCOUNTADMIN, SECURITYADMIN ou ORGADMIN. Vous pouvez modifier le rôle par défaut des utilisateurs pour OAuth, comme détaillé dans cette ressource Snowflake : Gérer le consentement des utilisateurs pour OAuth.

Après une authentification réussie, un message s'affiche pour demander le consentement. Veuillez le lire attentivement pour comprendre l'opération qui est effectuée et cliquez sur "Autoriser". Vous êtes maintenant en mesure de vous connecter en toute sécurité à Snowflake depuis Tulip !

Utilisation

Vous avez deux options pour commencer à utiliser le connecteur :

Commencez par personnaliser les fonctions du modèle de connecteur pour répondre à vos besoins spécifiques.

Suivez les instructions du test unitaire de Snowflake pour une démonstration pratique de l'utilisation du connecteur pour des tâches telles que : récupérer tous les enregistrements d'une table Snowflake dans Tulip, créer un nouvel enregistrement, mettre à jour un enregistrement existant et supprimer un enregistrement.

Fonctions de modèle

Le connecteur de bibliothèque comprend les fonctions de modèle suivantes : Modèle : Interroger la base de données Description : Permet de soumettre une ou plusieurs instructions SQL pour exécution. Méthode : POST Point d'arrivée : /api/v2/statements Référence : https://docs.snowflake.com/en/developer-guide/sql-api/reference#post-api-v2-statements Modèle : Check Query Status Description : Permet de vérifier l'état de l'exécution d'une requête. Méthode : GET Point final : /api/v2/statements/{statementHandle} Référence : https://docs.snowflake.com/en/developer-guide/sql-api/reference#get-api-v2-statements-statementhandle Modèle : Cancel Query Description : Permet d'annuler l'exécution d'une déclaration. Method : POST Point d'arrivée : /api/v2/statements/{statementHandle}/cancel Référence : https://docs.snowflake.com/en/developer-guide/sql-api/reference#post-api-v2-statements-statementhandle-cancel

Références supplémentaires

Ce guide de la communauté Snowflake fournit également un contexte supplémentaire à l'intégration de Snowflake.


Cet article vous a-t-il été utile ?