Procédures stockées : put_stream utilise une méthode différente pour obtenir le nom du fichier

Attention

Ce changement de comportement est présent dans le bundle 2023_02.

Pour connaître le statut actuel du bundle, reportez-vous à Historique du bundle.

La façon dont vous utilisez put_stream à l’intérieur des procédures stockées pour charger des fichiers vers une zone de préparation a changé et s’aligne maintenant sur le protocole put_stream du client Python de Snowpark.

Précédemment:

Le chargement de fichiers à l’aide de put_stream à partir de procédures stockées a été appelé à l’aide d’un stage_prefix et d’un input_stream. La procédure stockée a déduit le nom du fichier de input_stream en utilisant input_stream.name et l’a chargé vers stage_prefix.put_stream, ce qui ne fonctionnerait pas dans le cas où input_stream n’aurait pas l’attribut name. Ce comportement était différent de put_stream sur le client Snowpark Python.

Actuellement:

Le chargement de fichiers à l’aide de put_stream à partir de procédures stockées est appelé à l’aide de stage_location = stage_prefix + / + file_name, et input_stream. La procédure stockée déduit le nom du fichier en utilisant stage_location. Cela fonctionnerait dans le cas où input_stream n’a pas d’attribut name et le comportement s’aligne également sur le client Python de Snowpark.

Note

Les clients qui utilisent put_stream sans emplacement de zone de préparation complet doivent mettre à jour leur code pour télécharger des fichiers en utilisant un emplacement de zone de préparation complet avec un préfixe de zone de préparation et un nom de fichier cible.

Réf : 943