Connexion à Snowflake avec Snowflake Python APIs¶
Avant de pouvoir effectuer des actions avec Snowflake Python APIs, vous devez définir une connexion à Snowflake. Avec la connexion, vous pouvez créer un objet Root
pour accéder aux ressources modélisées par l’API.
Spécifier des propriétés de connexion¶
Vous pouvez définir une connexion à Snowflake via l’un des mécanismes suivants :
Se connecter via un dictionnaire Python¶
Vous pouvez spécifier les valeurs nécessaires pour vous connecter à Snowflake via un dictionnaire Python. Lorsque vous vous connectez, vous transmettez ce dictionnaire comme argument à la fonction ou à la méthode que vous utilisez pour vous connecter :
import os
CONNECTION_PARAMETERS = {
"account": os.environ["snowflake_account_demo"],
"user": os.environ["snowflake_user_demo"],
"password": os.environ["snowflake_password_demo"],
"role": "test_role",
"database": "test_database",
"warehouse": "test_warehouse",
"schema": "test_schema",
}
Se connecter via un fichier de configuration¶
Vous pouvez spécifier des définitions de connexion dans un fichier de configuration TOML. Cela supprime la nécessité de définir explicitement une connexion à Snowflake dans votre code.
Vous pouvez générer les paramètres de base du fichier de configuration TOML dans Snowsight. Pour plus d’informations, voir Configuration d’un client, d’un pilote, d’une bibliothèque ou d’une application tierce pour se connecter à Snowflake.
Vous pouvez également configurer les paramètres de connexion manuellement. Par exemple, créez un fichier de configuration situé au niveau de ~/.snowflake/connections.toml
, et ajoutez des paramètres de connexion similaires aux suivants :
[myconnection]
account = "test-account"
user = "test_user"
password = "******"
role = "test_role"
warehouse = "test_warehouse"
database = "test_database"
schema = "test_schema"
Dans cet exemple, vous définissez une connexion Snowflake appelée myconnection
avec le compte test-account
, l’utilisateur test_user
, les identifiants de connexion de mot de passe et les informations relatives à la base de données.
Note
Les traits de soulignement ne sont pas pris en charge dans le paramètre account
. Si l”identificateur de compte comprend des traits de soulignement, remplacez-les par des tirets. Pour plus d’informations, voir Nom du compte dans votre organisation.
Les définitions de connexion prennent en charge les mêmes options de configuration que celles disponibles dans le connecteur Python Snowflake.
Se connecter et créer un objet Root
¶
En utilisant les propriétés de connexion que vous avez spécifiées, vous pouvez créer une connexion à Snowflake. Avec la connexion, vous pouvez créer un objet Snowflake Python APIs Root
avec lequel vous pourrez commencer à utiliser l’API.
Vous pouvez vous connecter via l’un des objets suivants :
Se connecter avec une Session
Snowpark¶
Si vous utilisez l”API Snowpark pour Python, vous pouvez créer une connexion à Snowflake en utilisant son objet snowflake.snowpark.Session
.
La bibliothèque Python Snowpark n’est pas automatiquement installée en tant que dépendance de snowflake.core
. Pour vous connecter à Snowflake à l’aide de l’objet Session
Snowpark, procédez comme suit :
Pour installer le paquet
snowflake-snowpark-python
, exécutez la commande suivante :pip install 'snowflake-snowpark-python>=1.5.0,<2.0.0'
Pour créer une connexion à Snowflake, exécutez un code similaire à l’exemple suivant :
from snowflake.core import Root from snowflake.snowpark import Session session = Session.builder.config("connection_name", "myconnection").create() root = Root(session)
Dans cet exemple, le code crée un objet
Session
à l’aide d’une définition de connexion nomméemyconnection
, qui est spécifiée dans un fichier de configuration. En utilisant l’objetSession
obtenu, le code crée un objetRoot
à partir duquel utiliser l’API.
Pour plus d’informations sur la création d’une Session
, voir Création d’une session pour Snowpark Python.
Se connecter avec une Connection
à un connecteur Python¶
Si vous utilisez le connecteur Snowflake pour Python, vous pouvez créer une connexion à Snowflake en utilisant sa fonction snowflake.connector.connect
. La fonction renvoie un objet Connection
.
Vous n’avez pas besoin d’installer la bibliothèque du connecteur Python séparément. Le paquet snowflake-connector-python
est installé automatiquement en tant que dépendance lorsque vous installez le paquet parent snowflake
.
Le code de l’exemple suivant crée un objet Connection
à l’aide d’une définition de connexion nommée myconnection
, qui est spécifiée dans un fichier de configuration. En utilisant l’objet Connection
obtenu, le code crée un objet Root
à partir duquel utiliser l’API :
from snowflake.connector import connect
from snowflake.core import Root
connection = connect(connection_name="myconnection")
root = Root(connection)
Pour plus d’informations sur l’API du connecteur Snowflake pour Python, voir Connecteur Python API.
Utiliser l’objet Root
¶
Avec un objet Root
créé à partir de votre connexion à Snowflake, vous pouvez accéder aux objets et aux méthodes de Snowflake Python APIs. L’objet Root
est la racine de l’arbre de ressources modélisé par l’API. Vous utilisez l’objet Root
pour interagir avec les objets Snowflake représentés par l’API.
Le code de l’exemple suivant utilise l’objet Root
pour accéder aux objets Snowflake afin de reprendre la tâche nommée mytask
. La tâche se trouve dans le schéma nommé myschema
, qui se trouve dans la base de données nommée mydb
. Le code utilise les méthodes databases
, schemas
, et tasks
pour obtenir un objet représentant cette tâche :
tasks = root.databases["mydb"].schemas["myschema"].tasks
mytask = tasks["mytask"]
mytask.resume()