Java und Python UDFs und gespeicherte Prozeduren: Änderungen an der Verwendung von // beim Auflösen von Dateipfaden in Dateizugriff-APIs¶
Achtung
Diese Verhaltensänderung ist in Bundle 2025_03 enthalten.
Den aktuellen Status des Bundles finden Sie unter Bundle-Verlauf.
Snowflake entfernt derzeit //, wenn Sie diese zwischen dem Stagingbereich und dem Pfadnamen angeben. Dies ist jedoch zweideutig, da der Cloud-Speicher Schrägstriche (/) in Pfadnamen erlaubt. Das ursprüngliche Ziel war es, Benutzern zu helfen, die ihre Namen falsch verketten (z. B. build_scoped_file_url(@stage, '/file.txt')), was zu @stage//file.txt führt, obwohl der Benutzer eigentlich @stage/file.txt wollte. Wenn dieses Bundle zur Verhaltensänderung aktiviert ist, entfernt Snowflake dieses Verhalten, um Mehrdeutigkeiten zu vermeiden.
Mit dieser Verhaltensänderung scheitern also Auflösungen auf @stage//file.txt, wenn /file.txt nicht auf dem Cloud-Speicher existiert.
- Vor der Änderung:
Für Dateien, die innerhalb eines UDF oder einer gespeicherten Prozedur aufgelöst werden:
@stage//file.txtwird aufgelöst instage-location/file.txtbuild_scoped_url(@stage, '//file.txt')wird aufgelöst instage-location/file.txt
- Nach der Änderung:
Für Dateien, die innerhalb eines UDF oder einer gespeicherten Prozedur aufgelöst werden:
@stage//file.txtwird aufgelöst instage-location//file.txtbuild_scoped_url(@stage, '//file.txt')wird aufgelöst instage-location//file.txt
Ref: 1810