Notes de version de Snowflake Python APIs pour 2024

Cet article contient les notes de version Snowflake Python APIs, y compris les éléments suivants, le cas échéant :

  • Changements de comportement

  • Nouvelles fonctionnalités

  • Corrections de bogues pour les clients

Voir Snowflake Python APIs : gestion des objets Snowflake avec Python pour la documentation.

Version 1.0.0 (2024-10-22)

Nouvelles fonctions et mises à jour

  • Amélioration des messages d’erreur en raccourcissant les traces de pile. Pour contrôler ce comportement, utilisez l’option de variable d’environnement _SNOWFLAKE_PRINT_VERBOSE_STACK_TRACE.

  • Inclut désormais les propriétés en lecture seule par défaut dans les dictionnaires renvoyés par to_dict() à partir de modèles. Pour activer cette option, utilisez to_dict (hide_readonly_properties=True).

  • Ajout de la propriété if_exists qui bascule si vous pouvez effectuer une action sans erreur si la ressource donnée n’existe pas, vers les méthodes et ressources suivantes :

    • drop() pour Database, NetworkPolicy, View, User, ComputePool, ImageRepository, Pipe, Role, Service, Stage, Table, Task, DynamicTable, Role, Alert, Procedure, Warehouse, Schema, et Function.

    • refresh() pour Database et DynamicTable.

    • suspend() et resume() pour Service, DynamicTable, et Warehouse.

    • suspendRecluster() et resumeRecluster() pour DynamicTable et Table.

  • Database prend désormais en charge la méthode undrop().

  • Service prend désormais en charge le paramètre from_name dans iter().

  • Table prend désormais en charge les paramètres target_database et target_schema dans swap_with().

  • Procedure prend désormais en charge le paramètre copy_grants dans create().

Corrections de bogues

  • La création de tables dynamiques permet désormais de cloner correctement des objets sources à partir de différentes bases de données et différents schémas.

  • Correction d’un problème de connexion SSL pour les comptes et les organisations avec des traits de soulignement lorsqu’ils sont utilisés dans les noms d’hôtes.

Version 0.13.1 (2024-10-11)

Nouvelles fonctions et mises à jour

  • Prise en charge ajoutée pour la ressource de rôle de base de données.

  • Ajout de nouvelles méthodes au rôle, au rôle de base de données et aux ressources utilisateur pour gérer les privilèges d’accès.

  • Amélioration des journaux avec secrets nettoyés.

Corrections de bogues

  • Aucun.

Version 0.13.0 (2024-10-04)

Nouvelles fonctions et mises à jour

  • Amélioration de la documentation de l’API de manière significative.

  • Suppression de snowflake-snowpark-python en tant que dépendance de snowflake.core. Cependant, ce paquet est toujours requis pour certaines fonctionnalités, telles que les concepts de graphique des tâches (DAG) ; la vérification et l’exigence de ces fonctionnalités sont effectuées au moment de l’exécution.

  • Prise en charge ajoutée pour toutes les versions Python 3.8 ou plus récentes.

  • Ajout du support pour targetDatabase et targetSchema pour le clonage de tables.

  • Ajout de la prise en charge de targetDatabase pour le clonage de schémas.

  • Définitions de type exposées.

  • Ajout de la prise en charge de execute_job dans ServiceCollection.

  • Prise en charge de get_containers, get_instances, et get_roles dans ServiceResource.

  • Ajout de la prise en charge de create_or_update dans Service et ComputePool.

  • Ajout de la prise en charge des nouvelles ressources suivantes :

    • Compte

    • Alerte

    • Intégration de catalogue

    • Table des événements

    • Volume externe

    • Comptes gérés

    • Politique réseau

    • Notebook

    • Intégration de notification

    • Canal

    • Procédure

    • Flux

    • Fonctions définies par l’utilisateur

    • Vue

Corrections de bogues

  • Correction d’un bogue lié à la journalisation des URLs, où toutes les parties de l’URL n’étaient pas injectées dans les journaux.

Version 0.12.1 (2024-08-29)

Nouvelles fonctions et mises à jour

  • Aucun.

Corrections de bogues

  • Correction de plusieurs problèmes liés à la gestion de résultats volumineux.

Version 0.12.0 (2024-08-20)

Nouvelles fonctions et mises à jour

  • Le client réessaye désormais les requêtes sur les codes d’erreur réessayables.

  • Les méthodes StageResource suivantes sont désormais obsolètes et ont été renommées. Les anciens noms de méthodes sont désormais des alias.

    • De upload_file à put.

    • De download_file à get.

Version 0.11.0 (2024-07-25)

Nouvelles fonctions et mises à jour

Note

Les nouvelles fonctionnalités suivantes nécessitent la version 8.27 de Snowflake.

  • Ajout de la journalisation client à la bibliothèque pour améliorer la capacité de débogage.

  • Ajout de la prise en charge de undrop pour les types d’objets DynamicTable, Schema, et Table.

  • Amélioration de la prise en charge pour le type d’objet Grant avec les limitations suivantes :

    • La commande SQL SHOW GRANTS ON n’est pas prise en charge.

    • Seulement Grantees.role est prise en charge comme valeur bénéficiaire pour la méthode Grants.to (SHOW GRANTS TO).

  • Pour plus de cohérence avec leurs commandes SQL, les méthodes suivantes sont désormais obsolètes et ont été renommées comme suit. Les anciens noms de méthodes sont désormais des alias qui appellent les nouveaux noms de méthodes, de sorte que les anciens noms de méthodes fonctionneront toujours comme prévu.

    • De create_or_update à create_or_alter.

    • De delete à drop.

    • De undelete à undrop.

Corrections de bogues

  • Correction d’un bogue dans le code généré par la procédure stockée.

Version 0.10.0 (2024-06-24)

Nouvelles fonctions et mises à jour

Note

Les nouvelles fonctionnalités suivantes dépendent de la sortie de la version 8.23 de Snowflake.

  • Ajout de la prise en charge de l’API pour les ressources suivantes :

    • DynamicTable

    • Function (Prend actuellement en charge uniquement les fonctions de service)

    • Grant

  • Ajout de la prise en charge des finaliseurs dans les tâches et les graphiques de tâches (DAGs).

Version 0.9.0 (2024-06-10)

Nouvelles fonctions et mises à jour

  • Ajout de la prise en charge de l’API en mode expérimental pour les ressources suivantes :

    • User

    • Role

    • Gestion de Stage

  • Réajout de la prise en charge de create_or_update pour les ressources Warehouse, Schema, et Database.

    Note

    La fonctionnalité create_or_update pour ces ressources nécessite la prochaine sortie de la version 8.23 de Snowflake, qui n’est actuellement pas publiée au 10 juin 2024.

  • Ajout de la méthode get_endpoints pour les ressources Service qui renvoie une liste de points de terminaison pour un objet Service donné.

Corrections de bogues

  • with_managed_access est désormais correctement renvoyé en tant que propriété de SchemaResource.

Version 0.8.1 (2024-05-31)

Nouvelles fonctions et mises à jour

  • Ajout de l’option booléenne with_managed_access dans create_or_update pour SchemaResource. Cette option est équivalente au paramètre facultatif WITH MANAGED ACCESS dans CREATE SCHEMA.

    • Exemple d’utilisation :

      schema.create_or_update(schema_def, with_managed_access = True)
      
      Copy
  • Ajout de la méthode get_endpoints pour les ressources Service qui renvoie une liste de points de terminaison pour un objet Service donné.

Version 0.8.0 (2024-04-30)

Changements de comportement

  • Suppression du paramètre deep de fetch() sur les objets TableResource. fetch() renvoie toujours des informations détaillées sur les colonnes et les contraintes d’un objet TableResource.

  • create_or_update() ne fonctionne plus actuellement pour les ressources Schema, Warehouse, Database et ComputePool. create() fonctionne pour ces ressources.

  • La création de tables à l’aide de as_select ne reporte plus les informations des tables sources utilisées dans la requête as_select.

  • Les propriétés data_retention_time_in_days et max_data_extension_time_in_days d’une table sont héritées des paramètres du schéma ou de la base de données lorsqu’elles ne sont pas explicitement définies dans une instruction create_or_update qui modifie une table existante.

Nouvelles fonctions et mises à jour

  • Ajout de la prise en charge du point de terminaison d’API Cortex Search.

  • Ajout de la prise en charge des résultats volumineux.

  • Ajout de la prise en charge des requêtes de longue durée.

  • Ajout de la fonction d’aide ServiceSpec pour déduire le type de spécification à partir d’une chaîne fournie dans les ressources Service.

  • Mise à jour pour utiliser la plateforme Snowflake API REST pour toutes les ressources.

  • pip install snowflake[ml] installe snowflake-ml-python v1.4.0.

Corrections de bogues

  • Diverses corrections de bogues.

Version 0.7.0 (2024-03-20)

La version 0.7.0 introduit des mises à jour dans l’ensemble des paquets snowflake et snowflake.core.

Nouvelles fonctions et mises à jour

Mises à jour de paquets snowflake :

  • Vous pouvez maintenant exécuter pip install snowflake[ml] pour installer la bibliothèque Snowpark ML en tant que dépendance de paquet supplémentaire.

Mises à jour de paquets snowflake.core :

  • Les prédécesseurs des tâches renvoient désormais leur nom complet.

  • Ajout des méthodes __str__() et __repr_html__() à DAGRun pour la compatibilité avec les notebooks.

  • Remplacement de « DAGs » par « graphiques de tâches » dans la documentation de référence d’API pour mieux l’aligner sur la documentation Snowflake.

Corrections de bogues

Corrections de paquets snowflake.core :

  • Correction du générateur de code et mise à jour des modèles pilotés par les spécifications OpenAPI.

  • Correction des problèmes de compatibilité avec Pydantic.

  • Correction d’un bogue dans la propriété Task.error_integration.

  • Correction d’un bogue dans la propriété Task.config lorsque la propriété REST était manquante.

Version 0.6.0 (2024-02-06)

Nouvelles fonctions et mises à jour

  • Les opérateurs >> et << de DAGTask acceptent maintenant une fonction directement.

  • DAGTask utilise désormais l’entrepôt de DAG par défaut.

  • DAGTask accepte un nouveau paramètre session_parameters.

  • Mise à jour de TaskContext :

    • La méthode get_predecessor_return_value fonctionne désormais pour les noms longs et courts d’un DAGTask.

    • Ajout des méthodes get_current_task_short_name et get_task_graph_config_property.

  • Ajout de la prise en charge de pydantic 2.x.

  • Ajout de la prise en charge de Python 3.11.

Corrections de bogues

  • Correction d’un bogue où DAGOperation.run() soulevait une exception si DAG n’avait pas de planification.

  • Correction d’un bogue où la suppression d’un DAG ne supprimait pas toutes ses sous-tâches.

  • Correction d’un bogue qui provoquait une erreur lorsque config d’un DAG était défini.