JavaおよびPython UDFs とストアドプロシージャ: ファイルアクセス APIs でファイルパスを解決するときの // の処理に関する変更¶
Snowflakeでは現在、ステージとパス名の間に // を使用すると削除される一方、クラウドストレージではパス名にフォワードスラッシュ(/)を使用できるため、その処理がはっきりしていません。元々はユーザーによる名前の連結の支援が目的でした(例、 build_scoped_file_url(@stage, '/file.txt') で @stage/file.txt という名前にするつもりが、実際には @stage//file.txt になってしまう)。この動作変更バンドルが有効になっている場合、Snowflakeはこの動作を排除することで明確な処理を行うようになります。
つまり、この動作変更により、 /file.txt がクラウドストレージ上に存在しない限り、 @stage//file.txt に対する解決は失敗することになります。
- 変更前:
UDFまたはストアドプロシージャの内部で解決されるファイルの場合:
@stage//file.txtはstage-location/file.txtに解決されますbuild_scoped_url(@stage, '//file.txt')はstage-location/file.txtに解決されます
- 変更後:
UDFまたはストアドプロシージャの内部で解決されるファイルの場合:
@stage//file.txtはstage-location//file.txtに解決されますbuild_scoped_url(@stage, '//file.txt')はstage-location//file.txtに解決されます
Ref:1810