- Impression
Interroger les informations de Snowflake pour les utiliser avec les applications Tulip
The Snowflake integration is technical and may require your IT support to create the appropriate objects, roles and permissions.
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.
Contact de 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.
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 (tableau interactif, 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 la connectivité avec Tulip en tant que client, ainsi que les étapes pour configurer le connecteur Snowflake dans Tulip.
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 = OAUTHENABLED = TRUEOAUTH_CLIENT = CUSTOMOAUTH_CLIENT_TYPE = 'CONFIDENTIAL'OAUTH_REDIRECT_URI = 'https://<TULIP_INSTANCE_NAME>.tulip.co/oauth-redirect-handler'OAUTH_ISSUE_REFRESH_TOKENS = TRUEOAUTH_ISSUE_REFRESH_TOKEN_VALIDITY = <TIME_IN_SECONDS> ;
Remarque: la validité du jeton de rafraîchissement peut aller jusqu'à 1 jour (86400 secondes).
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 etDESCRIBE SECURITY INTEGRATION ;
- Notez les détails ci-dessous
:OAUTH_CLIENT_IDOAUTH_REDIRECT_URIOAUTH_AUTHORIZATION_ENDPOINTOAUTH_TOKEN_ENDPOINT
- Exécuter
:SELECT SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('<INTEGRATION_NAME>') ;
**doit être entièrement capitalisé,**par exemple pas tulip_intergation mais TULIP_INTEGRATION
- Notez
:OAUTH_CLIENT_SECRET
Configurez votre connecteur Snowflake
- Connectez-vous à Tulip et ajoutez le connecteur Snowflake de la bibliothèque Tulip ici (Web ou Embedded).
- Cliquez sur l'environnement de production
- Définissez les paramètres suivants :
Running On : Cloud Connector HostServer address : L'url du serveur de votre compte Snowflake au format .snowflakecomputing.comChemin de base : api/v2AuthenticationSélectionnez le service ou l'utilisateur OAuthAuthorization code URL - OAUTH_AUTHORIZATION_ENDPOINT de l'étape 2Access token URL - OAUTH_TOKEN_ENDPOINT de l'étape 2Client ID - OAUTH_CLIENT_ID de l'étape 2Client Secret - OAUTH_CLIENT_SECRET de l'étape 2Cochez les cases pourSend authentication headerEncode client ID pendant l'authentification.
- Cliquez sur Test. La fenêtre de connexion de votre compte Snowflake s'affiche.
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, puis cliquez sur Autoriser.
Vous êtes maintenant en mesure de vous connecter de manière sécurisée à 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 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éesDescription : Permet de soumettre une ou plusieurs instructions SQL pour exécution.Method : POSTEndpoint : /api/v2/statementsReference : https://docs.snowflake.com/en/developer-guide/sql-api/reference#post-api-v2-statementsTemplate : Check Query StatusDescription : Permet de vérifier le statut d'exécution d'une requête.Method : GETEndpoint : /api/v2/statements/{statementHandle}Reference : https://docs.snowflake.com/en/developer-guide/sql-api/reference#get-api-v2-statements-statementhandleTemplate : Cancel QueryDescription : Permet d'annuler l'exécution d'une déclaration.Method : POSTEndpoint : /api/v2/statements/{statementHandle}/cancelReference : 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 un contexte supplémentaire à l'intégration de Snowflake.