Procedimentos armazenados: put_stream usa maneiras diferentes de obter o nome do arquivo

Atenção

Essa mudança de comportamento está no pacote 2023_02.

Para saber o status atual do pacote, consulte Histórico do pacote.

A maneira como você usa put_stream dentro de procedimentos armazenados para carregar arquivos em um estágio foi alterada e agora está alinhada com o protocolo put_stream do cliente Python do Snowpark.

Anteriormente:

O carregamento de arquivos usando put_stream de procedimentos armazenados foi chamado usando um stage_prefix e um input_stream. O procedimento armazenado inferiu o nome do arquivo de input_stream usando input_stream.name e o carregamento para stage_prefix.put_stream seria interrompido caso input_stream não tivesse o atributo name. Este comportamento era diferente de put_stream no cliente Python do Snowpark.

Atualmente:

O carregamento de arquivos usando put_stream a partir de procedimentos armazenados é chamado usando um stage_location = stage_prefix + / + file_name e um input_stream. O procedimento armazenado infere o nome do arquivo usando stage_location. Isso funcionaria no caso em que input_stream não tem um atributo name e o comportamento também se alinha com o cliente Python do Snowpark.

Nota

Os clientes que usam put_stream sem um local de estágio completo devem atualizar seu código para fazer carregamentos de arquivos usando um local de estágio completo com prefixo de estágio e nome de arquivo de destino.

Ref: 943