UDFs Java e Python e procedimentos armazenados: alterações no tratamento de // ao resolver caminhos de arquivos nas APIs de acesso a arquivos (pendente)

Atenção

Essa mudança de comportamento está no pacote 2025_03.

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

Atualmente, o Snowflake remove o endereço // quando você o fornece entre o nome do estágio e do caminho. No entanto, isso é ambíguo porque o armazenamento em nuvem permite barras (/) nos nomes dos caminhos. O objetivo original era ajudar os usuários que confundiam erroneamente seus nomes (por exemplo, build_scoped_file_url(@stage, '/file.txt')), o que resultaria em @stage//file.txt quando o usuário realmente queria @stage/file.txt. Quando esse pacote de mudança de comportamento é ativado, o Snowflake remove esse comportamento para evitar ambiguidade.

Portanto, com essa mudança de comportamento, as resoluções para @stage//file.txt falharão, a menos que /file.txt exista no armazenamento em nuvem.

Antes da mudança:

Para arquivos resolvidos em uma UDF ou procedimento armazenado:

  • @stage//file.txt resolve como stage-location/file.txt

  • build_scoped_url(@stage, '//file.txt') resolve como stage-location/file.txt

Após a mudança:

Para arquivos resolvidos em uma UDF ou procedimento armazenado:

  • @stage//file.txt resolve como stage-location//file.txt

  • build_scoped_url(@stage, '//file.txt') resolve como stage-location//file.txt

Ref: 1810