J'ai récemment reçu des demandes pour partager des informations sur l'utilisation du connecteur de données Snowflake basé sur REST avec JMP 19.
Heureusement, j'avais déjà fait une vidéo à ce sujet ! Article le plus facile à publier de tous les temps.
Pour ceux qui souhaitent passer directement à l'utilisation de JMP, rendez-vous à l'horodatage 2:11.
Transcription (approximative) :
Je m'appelle Chris, je suis développeur logiciel chez JMP et je souhaite partager quelques informations sur le connecteur de données Snowflake basé sur REST, nouveauté de JMP 19 !
Ce connecteur offre des performances accrues par rapport au connecteur Snowflake basé sur ODBC. De plus, ce connecteur REST fonctionne dans JMP sans nécessiter l'installation du pilote ODBC Snowflake.
Objectifs
Aujourd'hui, je vais aborder les sujets suivants :
- Qu'est-ce qu'un flocon de neige ?
- Pourquoi utiliser le connecteur Snowflake basé sur REST ?
- Comment configurer et se connecter au connecteur Snowflake basé sur REST.
- Quelques conseils de dépannage.
Qu'est-ce qu'un flocon de neige ?
Pour ceux qui découvrent Snowflake, voici une de ses descriptions : « Snowflake combine un moteur de requêtes SQL entièrement nouveau avec une architecture innovante conçue nativement pour le cloud. »
Du point de vue de l'utilisateur, Snowflake stocke des données. Les utilisateurs peuvent soumettre des requêtes SQL pour accéder à ces données, comme avec n'importe quelle base de données SQL, mais en coulisses, les données sont stockées chez un ou plusieurs fournisseurs de cloud tels qu'AWS, Google Cloud ou Azure. Snowflake excelle dans la mise à l'échelle des ressources en fonction des besoins des clients.
Snowflake propose également une interface web appelée Snowsight, permettant aux utilisateurs d'exécuter des requêtes, de gérer Snowflake, de télécharger des données, de créer des pipelines de données et de surveiller l'activité et l'utilisation.
ODBC vs REST
Dans JMP 19, les utilisateurs disposent désormais de deux options pour accéder aux données Snowflake : le connecteur ODBC et le connecteur REST. Ce dernier exploite le traitement multithread pour la récupération des données, ce qui permet d’exécuter les requêtes beaucoup plus rapidement qu’avec le pilote ODBC.
Limites de REST
Actuellement, les méthodes d'authentification prises en charge sont l'authentification par nom d'utilisateur et mot de passe avec l'authentificateur par défaut de Snowflake, l'authentification via OAuth et l'utilisation de jetons d'accès programmatiques destinés notamment aux scripts automatisés.
Le connecteur basé sur REST utilise l'API SQL de Snowflake en interne, de sorte que certaines opérations comme GET et PUT avec préparation des données ne sont pas prises en charge.
De liaison
Sachant tout cela, examinons la configuration d'un connecteur basé sur REST et l'établissement de la connexion dans JMP.
(ouvrir JMP)
Pour commencer, ouvrons l'interface du connecteur de données JMP.
(naviguez… et parlez)
Recherchez Snowflake dans la barre de recherche, sélectionnez le connecteur Snowflake intégré et créez-en un nouveau.
Authentification avec mot de passe utilisateur
Avant de commencer, plusieurs de ces options peuvent nécessiter des informations d'un administrateur Snowflake et potentiellement d'autres parties, selon vos systèmes d'authentification. Commençons donc par établir une connexion à l'aide d'un nom d'utilisateur et d'un mot de passe.
La première chose dont nous avons besoin est l'URL Snowflake, qui est souvent la façon dont les utilisateurs accèdent à l'interface web de Snowsight et qui se termine généralement par .
Le champ « entrepôt » correspond à l'entrepôt auquel vous souhaitez vous connecter, de même que les champs « base de données » et « rôle ». Si vous les laissez vides, les valeurs par défaut de votre utilisateur seront utilisées, le cas échéant. Il est fréquent que les utilisateurs soient limités à certains rôles ou même à certaines tables auxquelles ils peuvent accéder ; des valeurs incorrectes pour ces champs peuvent donc empêcher la connexion.
Enfin, renseignez les champs nom d'utilisateur et mot de passe avec vos identifiants. Vous pouvez laisser le champ mot de passe vide ; il vous sera alors demandé lors de la connexion. Testez la connexion à l'aide du bouton de test et enregistrez-la si vous le souhaitez.
L'authentification à deux facteurs (2FA)
Il se peut que JMP se bloque au moment de la connexion, ce qui peut indiquer que Snowflake attend une authentification à deux facteurs (2FA). Si votre compte est configuré avec la 2FA, vous devrez répondre à l'invite. Par exemple, vous pouvez utiliser l'application Duo sur votre téléphone pour autoriser la connexion.
Une fois la connexion établie, vous pourrez visualiser les schémas et les tables de la base de données à laquelle vous vous êtes connecté. Utilisez ensuite la fonction Ouvrir la table ou le générateur de requêtes pour importer les données dans JMP.
Console SQL
Nouveauté de JMP 19 : la console SQL, qui permet d’exécuter des requêtes multi-instructions grâce aux connecteurs compatibles. Son fonctionnement est similaire à celui d’une requête SQL personnalisée, mais elle permet également d’ouvrir plusieurs tables simultanément avec une seule requête. Vous pouvez enregistrer votre travail dans un fichier .sql et le rouvrir ultérieurement.
Connexion avec un jeton d'accès programmatique
Pour les utilisateurs qui doivent contourner l'authentification à deux facteurs (2FA) à des fins de script ou pour l'utilisation de scripts d'actualisation JMP Live, une autre solution consiste à se connecter à l'aide d'un jeton d'accès programmatique. Ce jeton temporaire est valable jusqu'à un an. Contactez votre administrateur Snowflake pour générer un jeton pour votre utilisateur.
Pour utiliser le jeton avec JMP, suivez les mêmes étapes que précédemment pour créer un nom d'utilisateur et un mot de passe pour le connecteur Snowflake, mais saisissez le jeton dans le champ mot de passe du connecteur à la place de votre mot de passe habituel. Vous devriez ensuite pouvoir vous connecter normalement sans avoir besoin de l'authentification à deux facteurs.
Connexion via OAuth
Pour vous connecter via OAuth, la plupart des champs sont fournis par vos administrateurs Snowflake et de sécurité. Assurez-vous que les champs Nom d'utilisateur et Mot de passe sont vides pour ce type d'authentification. Comme précédemment, renseignez l'URL Snowflake ainsi que les champs Base de données, Entrepôt et Rôle, le cas échéant. Les champs restants sont listés dans la section OAuth et vous seront fournis par votre administrateur. Lors de la connexion via OAuth, vous devrez probablement vous authentifier et peut-être également effectuer une authentification à deux facteurs. Dans mon cas, une fenêtre de navigateur s'ouvre pour que je puisse saisir mes identifiants.
Dépannage
Abordons également quelques problèmes que vous pourriez rencontrer et quelques solutions potentielles.
- Rôle/entrepôt incorrect : lors de la connexion, vous pouvez voir une erreur générique indiquant : « Erreur de compilation SQL : l’objet n’existe pas ou l’opération ne peut pas être effectuée. »
La première chose à vérifier est l'exactitude de votre rôle, de votre entrepôt de données et de votre base de données. Si ces champs sont vides, vous devrez peut-être indiquer explicitement la ressource à laquelle vous souhaitez accéder. Si vous les avez renseignés, vérifiez l'orthographe et assurez-vous que votre utilisateur dispose des droits d'accès nécessaires. Pour ce faire, contactez votre administrateur Snowflake, vérifiez votre configuration avec Snowsight ou utilisez un outil en ligne de commande comme Snowsql ou l'interface de ligne de commande Snowflake.
- HTTPS : Certaines configurations Snowflake sont soumises à des restrictions d’adresse IP ou certaines ressources sont protégées par un pare-feu d’entreprise. Assurez-vous d’avoir accès à ces ressources, ce qui peut impliquer d’accéder au réseau de votre entreprise ou de configurer les champs proxy et noproxy dans le connecteur de données. De plus, vous devrez peut-être désactiver TLS à l’aide du champ « Secure » si, par exemple, votre infrastructure utilise des certificats auto-signés. Ne désactivez TLS que si vous êtes certain qu’il s’agit de la configuration appropriée, car cela pourrait permettre des attaques de type « homme du milieu ».
Merci d'avoir regardé cette vidéo. J'espère qu'elle vous a été utile pour comprendre les avantages du connecteur Snowflake basé sur REST, apprendre à configurer un nouveau connecteur de données Snowflake et, enfin, vous connecter aux données Snowflake dans JMP.
Vous trouverez de plus amples informations sur l'utilisation de Snowflake et l'exécution de requêtes Snowflake sur snowflake.com.
Nous espérons que les utilisateurs apprécieront les améliorations de performance apportées à ce connecteur et nous nous réjouissons de poursuivre son amélioration. Merci !