Snowflake Python APIs : gestion des objets Snowflake avec Python

Le paquet Snowflake Python APIs est une bibliothèque unifiée qui relie de manière transparente Python aux charges de travail Snowflake. Elle est destinée à fournir des APIs complètes pour interagir avec les ressources centrales de Snowflake à travers l’ingénierie des données, Snowpark, Snowpark ML et les charges de travail d’application à l’aide d’une API Python de première classe.

Vous pouvez utiliser Snowflake Python APIs pour gérer les ressources Snowflake en les créant, en les supprimant ou en les modifiant, et bien plus encore. Vous pouvez utiliser Python pour effectuer des tâches que vous pourriez sinon réaliser via les commandes SQL Snowflake.

Le diagramme suivant montre la structure de paquet de haut niveau de Snowflake Python APIs :

Diagramme montrant la structure de haut niveau du paquet d'APIs Snowflake Python

Pour en savoir plus sur l’API, y compris ses concepts généraux et ses modèles de conception, voir Snowflake Python APIs : concepts généraux.

Objets de ressources Snowflake pris en charge

Grâce à Snowflake Python APIs, vous pouvez actuellement gérer les objets de ressources Snowflake suivants (version d’API minimale requise entre parenthèses) :

L’écosystème Python dans Snowflake

L”Snowflake Python APIs, l”API Snowpark pour Python, et le Snowflake Connector pour Python sont des interfaces qui ont chacune des objectifs distincts dans Snowflake. Cette section explique leurs différences et décrit les cas d’utilisation typiques de chacune d’entre elles.

Snowflake Python APIs

Vous pouvez utiliser cet ensemble d’APIs Python de première classe pour définir et gérer les ressources de base (telles que les tables, les entrepôts et les tâches) dans les charges de travail Snowflake. Contrairement au connecteur Python, ces APIs interagissent avec Snowflake en utilisant le langage Python natif, sans qu’il soit nécessaire d’utiliser SQL.

Le paquet Snowflake Python APIs unifie toutes les bibliothèques Python de Snowflake (y compris connector, core, snowpark, et ml) de sorte que vous pouvez simplement démarrer avec la commande pip install snowflake.

Suivant l’approche de la programmation déclarative, cette API peut être utilisée comme un outil DevOps pour gérer les modifications de vos ressources et automatiser le déploiement du code et de l’infrastructure dans Snowflake.

Snowpark

Cet ensemble de bibliothèques et d’environnements d’exécution de code permet d’exécuter Python et d’autres langages de programmation à côté de vos données dans Snowflake.

  • Bibliothèques : avec API Snowpark, vous pouvez utiliser des DataFrames Snowpark dans votre code pour effectuer des requêtes et transformer des données de A à Z dans Snowflake. Les applications Snowpark traitent vos données à l’échelle directement sur le moteur Snowflake sans déplacer les données vers le système où s’exécute le code de votre application.

    L’API Snowpark est disponible en Python, Java et Scala.

  • Environnements d’exécution du code : les environnements d’exécution Snowpark prennent en charge les images de conteneurs et le code Python, Java et Scala.

    • Vous pouvez exécuter du code Python personnalisé par le biais de fonctions définies par l’utilisateur Python (UDFs) ou de procédures stockées pour construire des pipelines de données, des applis et bien plus encore. Les environnements d’exécution Python ont accès à un référentiel de paquets et à un gestionnaire de paquets d’Anaconda.

      Des environnements d’exécution sont également disponibles en Scala et en Java.

    • Vous pouvez exécuter des applications conteneurisées directement dans Snowflake en utilisant Snowpark Container Services.

Connecteur Snowflake pour Python

Utilisez ce pilote SQL pour vous connecter à Snowflake, exécuter les instructions SQL, puis obtenir les résultats à l’aide d’un client Python.

Avec le connecteur Python, vous écrivez toutes vos interactions avec Snowflake en utilisant des chaînes d’instructions SQL.

Premiers pas avec Snowflake Python APIs

Pour commencer à utiliser Snowflake Python APIs, reportez-vous aux instructions des rubriques suivantes :

  1. Installez la bibliothèque.

  2. Connectez-vous à Snowflake.

Pour des tutoriels sur la mise en route de Snowflake Python APIs, voir Tutoriels : premiers pas avec Snowflake Python APIs.

Versions de Python prises en charge

Les versions de Python prises en charge sont les suivantes :

  • 3,9

  • 3,10

  • 3,11

  • 3,12

Guides du développeur

Guide

Description

Installez la bibliothèque Snowflake Python APIs.

Installez le paquet Snowflake Python APIs.

Connexion à Snowflake avec Snowflake Python APIs

Connectez-vous à Snowflake à partir du code Python.

Gestion des comptes Snowflake et des comptes gérés avec Python

Utilisez l’API pour créer et gérer des comptes et des comptes gérés.

Gestion des alertes Snowflake avec Python

Utilisez l’API pour créer et gérer des alertes.

Gestion des ressources de chargement et de déchargement de données avec Python

Utilisez l’API pour créer et gérer les ressources de chargement et de déchargement de données, y compris les volumes externes, les canaux et les zones de préparation.

Gestion des bases de données, schémas, tables et vues Snowflake avec Python

Utilisez l’API pour créer et gérer des bases de données, des schémas et des tables.

Gestion des tables dynamiques Snowflake avec Python

Utilisez l’API pour créer et gérer des tables dynamiques.

Gestion des fonctions et des procédures stockées Snowflake avec Python

Utilisez l’API pour créer et gérer des fonctions définies par l’utilisateur (UDFs) et des procédures stockées.

Gestion des intégrations Snowflake avec Python

Utilisez l’API pour créer et gérer des intégrations de catalogue et des intégrations de notifications.

Gestion des politiques réseau Snowflake avec Python

Utilisez l’API pour créer et gérer des politiques réseau.

Gestion de Snowflake Notebooks avec Python

Utilisez l’API pour créer et gérer des Snowflake Notebooks.

Gestion de Snowpark Container Services (y compris les fonctions de service) avec Python

Utilisez l’API pour gérer les composants Snowpark Container Services, notamment les pools de calcul, les référentiels d’images, les services et les fonctions de services.

Gestion des flux Snowflake avec Python

Utilisez l’API pour créer et gérer des flux.

Gestion des tâches et des graphiques de tâches Snowflake avec Python

Utilisez l’API pour créer, exécuter et gérer des tâches et des graphiques de tâches.

Gestion des utilisateurs, des rôles et des attributions Snowflake avec Python

Utilisez l’API pour créer et gérer les utilisateurs, les rôles et les autorisations.

Gestion des entrepôts virtuels Snowflake avec Python

Utilisez l’API pour créer et gérer des entrepôts virtuels.

Références

Référence APIs Python Snowflake

Coûts de l’accès à Snowflake

Pour réduire les coûts—–que ce soit au niveau des crédits ou de l’activité réseau—–les Snowflake Python APIs sont conçues 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, lorsque vous traitez des informations extraites de Snowflake, vous le faites par l’intermédiaire d’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.