Novembre 2022

Les nouvelles fonctionnalités, les changements de comportement et les mises à jour (améliorations, corrections, etc.) suivants ont été introduits ce mois-ci. Si vous avez des questions sur ces ajouts, veuillez contacter le support Snowflake.

Important

Chaque version peut inclure des mises à jour nécessitant l’actualisation de l’interface Web.

En règle générale, pour éviter que ces mises à jour nuisent à votre utilisation, nous vous recommandons d’actualiser l’interface Web après le déploiement de chaque version de Snowflake.

Dans ce chapitre :

Nouvelles fonctionnalités

Politiques de mots de passe

Avec cette version, Snowflake lance des politiques de mots de passe. Une politique de mot de passe est un nouvel objet de niveau schéma qui spécifie les exigences à respecter pour créer et réinitialiser des mots de passe pour l’authentification dans Snowflake. Snowflake permet de définir une politique de mot de passe pour votre compte Snowflake, ainsi qu’une politique de mot de passe pour les utilisateurs individuels du compte, où la politique de mot de passe au niveau de l’utilisateur a la priorité sur la politique de mot de passe au niveau du compte.

Notez que les politiques de mots de passe s’appliquent uniquement aux nouveaux mots de passe de votre compte Snowflake. Pour s’assurer que le mot de passe existant d’un utilisateur répond aux exigences spécifiées dans une politique de mot de passe, définissez la propriété utilisateur MUST_CHANGE_PASSWORD sur TRUE en utilisant une instruction ALTER USER.

Pour plus de détails, voir Politiques de mots de passe.

API Snowpark pour Python — Disponibilité générale

Nous avons le plaisir d’annoncer la disponibilité générale de l’API Snowpark pour Python.

Snowpark est une nouvelle expérience de développement qui offre une API intuitive pour l’interrogation et le traitement des données dans un pipeline de données. Grâce à cette bibliothèque, vous pouvez créer des applications qui traitent les données dans Snowflake sans les déplacer vers le système où s’exécute le code de votre application.

Pour plus d’informations, voir Guide du développeur Snowpark pour Python.

UDFs Python — Disponibilité générale

Nous avons le plaisir d’annoncer la disponibilité générale des UDFs Python (fonctions définies par l’utilisateur).

Les utilisateurs peuvent désormais écrire des fonctions personnalisées dans le langage de programmation Python et les appeler comme s’il s’agissait de fonctions intégrées.

Pour plus d’informations, voir Introduction aux UDFs Python.

Interface par lots UDF Python — Disponibilité générale

Nous avons le plaisir d’annoncer la disponibilité générale de l’API par lots UDF Python.

L’API par lots UDF Python permet de définir des fonctions Python qui reçoivent des lots de lignes d’entrée sous forme de DataFrames Pandas et renvoient des lots de résultats sous forme de tableaux ou de séries Pandas. Les UDFs Python qui utilisent l’API par lots sont appelées de la même manière que les autres UDFs Python.

Pour plus d’informations, voir UDFs Python vectorisées.

UDTFs Python — Disponibilité générale

Nous avons le plaisir d’annoncer la disponibilité générale des UDTFs Python (fonctions de table définies par l’utilisateur).

Les UDTFs Python étendent les capacités de développement natives de Snowflake en combinant les avantages des fonctions de table avec la puissance, la flexibilité et la facilité de la programmation en Python.

Pour plus d’informations, voir Écriture d’une UDTF en Python.

Procédures stockées Snowpark pour Python — Disponibilité générale

Nous avons le plaisir d’annoncer la disponibilité générale des procédures stockées Snowpark pour Python. Vous pourrez ainsi écrire des procédures stockées en Python en utilisant l’API Snowpark.

Dans votre procédure stockée, vous pouvez utiliser l’API Snowpark pour Python pour héberger vos pipelines de données dans Snowflake. Par exemple, vous pouvez écrire des procédures stockées quand vous devez exécuter votre code Snowpark sans lancer une application client (par exemple, à partir d’une tâche).

Pour plus d’informations, voir Écriture de procédures stockées en Python.

Mises à jour SQL

Vue Nouveau Account Usage : PROCEDURES

Dans une version récente, la vue Vue PROCEDURES a été ajoutée aux vues Account Usage (dans la base de données partagée SNOWFLAKE) pour fournir des informations sur les procédures stockées. La vue PROCEDURES affiche une ligne pour chaque procédure stockée dans le compte.

Service d’optimisation de la recherche : prise en charge des tables avec des politiques de masquage et des politiques d’accès aux lignes — Avant-première

Nous avons le plaisir d’annoncer en avant-première la prise en charge des tables avec des politiques de masquage et des politiques d’accès aux lignes dans le service d’optimisation de la recherche.

Avant l’introduction de cette fonctionnalité, une erreur se produisait si vous essayiez d’ajouter une optimisation de recherche à une table qui utilisait des politiques de masquage ou des politiques d’accès aux lignes. Grâce à cette fonctionnalité, vous pouvez améliorer les performances des requêtes sur les colonnes de cette table.

Pour plus d’informations, voir Service d’optimisation de la recherche.

SELECT * : exclusion et renommage de colonnes spécifiques

Avec cette version, vous pouvez exclure ou renommer des colonnes spécifiques dans une instruction SELECT *.

  • Pour exclure une ou plusieurs colonnes, spécifiez EXCLUDE avec les noms des colonnes :

    SELECT * EXCLUDE <col_name> ...
    
    Copy
    SELECT * EXCLUDE (<col_name>, <col_name>, ...) ...
    
    Copy
  • Pour renommer une ou plusieurs colonnes, spécifiez RENAME avec les noms d’origine des colonnes et les nouveaux noms des colonnes :

    SELECT * RENAME <col_name> AS <col_alias> ...
    
    Copy
    SELECT * RENAME (<col_name> AS <col_alias>, <col_name> AS <col_alias>, ...) ...
    
    Copy

Vous pouvez utiliser EXCLUDE et RENAME dans la même instruction. Si vous le faites, vous devez spécifier EXCLUDE avant RENAME et vous ne pouvez pas spécifier la même colonne à la fois dans EXCLUDE et RENAME.

Par exemple, pour sélectionner toutes les colonnes sauf la colonne employee_id de employee_table et renommer la colonne department_id en department :

SELECT * EXCLUDE employee_id RENAME department_id as department FROM employee_table;
Copy

Pour plus d’informations, voir SELECT.

Nouvelles fonctions SQL

La ou les fonctions suivantes ont été introduites dans des versions récentes :

Catégorie de fonction

Nouvelle fonction

Description

Fonctions de données semi-structurées (tableau/objet)

ARRAY_EXCEPT

Renvoie un nouveau ARRAY qui contient les éléments d’un ARRAY d’entrée qui ne sont pas dans un autre ARRAY d’entrée.

Numérique

DIV0NULL

Effectue une division comme l’opérateur de division (/), mais renvoie 0 lorsque le diviseur est 0 ou NULL (au lieu de signaler une erreur ou de renvoyer NULL).

Fonctions de données semi-structurées (tableau/objet)

ARRAY_DISTINCT

Renvoie un nouveau ARRAY qui ne contient que les éléments distincts de l’entrée ARRAY.

Nouvelle procédure stockée système pour l’envoi de notifications par e-mail — Avant-première

Nous avons le plaisir d’annoncer une avant-première de la procédure stockée système SYSTEM$SEND_EMAIL() pour l’envoi de notifications par e-mail. Vous pouvez appeler cette procédure stockée pour envoyer une notification par e-mail à partir d’une tâche, de votre propre procédure stockée ou d’une session interactive.

Pour plus d’informations, voir Envoi de notifications par e-mail.

Nouvelle fonction de table Information Schema : NOTIFICATION_HISTORY

Avec cette version, une nouvelle fonction de table, NOTIFICATION_HISTORY, a été ajoutée à Snowflake Information Schema.

Cette fonction de table renvoie l’historique des notifications envoyées par Snowflake, notamment :

Remarque : cette fonction ne renvoie que des informations sur les notifications qui ont été traitées (notifications qui ont été envoyées ou qui ont échoué). Les notifications dans la file d’attente ne seront pas affichées dans l’historique.

Pour plus d’informations sur cette fonction de table, voir NOTIFICATION_HISTORY.

Vue Nouveau Account Usage : LOCK_WAIT_HISTORY

Avec cette version, une nouvelle vue, LOCK_WAIT_HISTORY, a été ajoutée au schéma Account Usage dans la base de données Snowflake.

L” Vue LOCK_WAIT_HISTORY renvoie les détails de la transaction qui peuvent être utiles pour analyser les transactions bloquées. Chaque ligne du résultat comprend les détails d’une transaction qui attend un verrou et les détails des transactions qui détiennent ce verrou ou qui attendent ce verrou.

Pour plus d’informations, voir Analyse des transactions bloquées avec la vue LOCK_WAIT_HISTORY.

Mises à jour de l’entrepôt virtuel

Entrepôts optimisés pour Snowpark — Avant-première

Nous sommes heureux d’annoncer une avant-première des entrepôts optimisés pour Snowpark dans les régions Amazon Web Services (AWS), Microsoft Azure et Google Cloud.

Pour plus d’informations, voir Entrepôts optimisés pour Snowpark.

Mises à jour de l’extensibilité

Traducteurs de requêtes et de réponses dans des fonctions externes — Disponibilité générale

Nous avons le plaisir d’annoncer la disponibilité générale de traducteurs de requêtes et de réponses. Cette fonctionnalité vous permet de modifier facilement le format des données envoyées vers et depuis les services distants utilisés par les fonctions externes.

Cette fonction vous permet d’effectuer facilement les actions suivantes :

  • Convertir les données du format Snowflake au format d’entrée natif du service distant (traducteur de requêtes).

  • Convertir les données du format de sortie natif du service distant au format de Snowflake (traducteur de réponses).

Pour plus d’informations, voir Utilisation de traducteurs de requêtes et de réponses avec des données pour un service distant.

Mises à jour de la gouvernance des données

Historique des accès : ajout de la prise en charge pour les UDFs et les procédures stockées

Avec cette version, Snowflake a le plaisir d’annoncer la prise en charge d’UDFs, d’UDTFs, de fonctions externes et de procédures stockées dans la vue ACCESS_HISTORY Account Usage.

Pour plus de détails, voir :