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",
}
Copy

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"
Copy

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 :

  1. Pour installer le paquet snowflake-snowpark-python, exĂ©cutez la commande suivante :

    pip install 'snowflake-snowpark-python>=1.5.0,<2.0.0'
    
    Copy
  2. 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)
    
    Copy

    Dans cet exemple, le code crĂ©e un objet Session Ă  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 Session obtenu, le code crĂ©e un objet Root Ă  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)
Copy

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