API Python Snowflake : Gestion des objets Snowflake avec Python¶
L’API Python Snowflake est l’API Python unifiée pour toutes les charges de travail Snowflake, destinée à fournir des APIs pour toutes les ressources Snowflake pour l’ensemble des charges de travail d’ingénierie des données, Snowpark et des applications clientes.
Vous pouvez utiliser l’API Python Snowflake pour interagir avec les ressources Snowflake, en les créant, en les supprimant, en les modifiant, etc. Vous pouvez utiliser Python pour effectuer des tâches que vous pourriez sinon réaliser via les commandes SQL Snowflake.
Grâce à l’API Python Snowflake, vous pouvez actuellement gérer les objets Snowflake suivants :
Tâches, avec lesquelles vous pouvez exécuter des instructions SQL, des appels de procédure et une logique dans Exécution de scripts Snowflake.
Pour plus d’informations, voir Gestion des tâches et DAGs Snowflake avec Python.
Ressources dans Snowpark Container Services, y compris les pools de calcul, les référentiels d’images et les services.
Pour plus d’informations, voir Gestion de Snowpark Container Services avec Python.
Pour un tutoriel d’introduction à l’utilisation de l’API Python Snowflake, voir Démarrage rapide : Premiers pas avec l’API Python Snowflake.
Exemple¶
Le code de l’exemple suivant exécute une tâche appelée my_task
. Le code utilise les paramètres de connexion définis dans un fichier de configuration pour créer une connexion à Snowflake. En utilisant l’objet Session
obtenu, le code crée un objet Root
pour utiliser les types et les méthodes de l’API. En utilisant l’API, le code crée un objet Task
représentant my_task
. En utilisant un objet TaskResource
task_res
, le code exécute la tâche.
Pour en savoir plus sur les actions liées aux tâches que vous pouvez effectuer avec l’API, voir Gestion des tâches et DAGs Snowflake avec Python.
from snowflake.core import Root
from snowflake.core.task import Task
from snowflake.snowpark import Session
session = Session.builder.config("connection_name", "myconnection").create()
root = Root(session)
tasks = root.databases["mydb"].schemas["myschema"].tasks
task_res = tasks['my_task']
task_res.execute()
Limites¶
L’API Python Snowflake n’est actuellement pas disponible dans le canal Snowflake Anaconda.
Versions prises en charge¶
Les versions de Python prises en charge sont les suivantes :
3,8
3,9
3,10
3,11
Guides du développeur¶
Guide |
Description |
---|---|
Installez le paquet API Python Snowflake. |
|
Connectez-vous à Snowflake à partir du code Python. |
|
Utilisez l’API pour créer, exécuter et gérer des tâches et des DAGs de tâches. |
|
Gestion des bases de données, schémas et tables Snowflake avec Python |
Utilisez l’API pour créer et gérer des bases de données, des schémas et des tables. |
Utilisez l’API pour créer et gérer des entrepôts virtuels. |
|
Utilisez l’API pour gérer les composants Snowpark Container Services, notamment les pools de calcul, les référentiels d’images et les services. |
Références¶
Coûts de l’accès à Snowflake¶
Pour réduire les coûts—–que ce soit au niveau des crédits d’utilisation ou de l’activité réseau—–l’API Python Snowflake est conçue pour communiquer avec Snowflake uniquement lorsque vous appelez des méthodes prévues pour se synchroniser avec Snowflake.
Les objets dans l’API sont soit des références locales (ou descripteurs), soit des instantanés d’état stockés sur Snowflake. En général, si vous agissez sur ou récupérez des informations provenant de Snowflake, vous le faites via un objet de référence local, en mémoire.
Ces références ne sont pas synchronisées avec Snowflake tant que vous n’avez pas appelé une méthode. Lorsque vous appelez une méthode, vous encourez généralement des coûts en termes de crédit d’utilisation et d’activité réseau. En revanche, lorsque vous travaillez avec des références en mémoire, par exemple pour accéder à des attributs, votre travail s’effectue localement et n’entraîne pas de tels coûts.