Java- und Python-UDFs und gespeicherte Prozeduren: Änderungen an der Behandlung von //
bei der Auflösung von Dateipfaden im Dateizugriff-APIs (ausstehend)¶
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.txt
wird aufgelöst instage-location/file.txt
build_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.txt
wird aufgelöst instage-location//file.txt
build_scoped_url(@stage, '//file.txt')
wird aufgelöst instage-location//file.txt
Ref: 1810