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()