JavaおよびPythonのUDFsとストアドプロシージャ: ファイルアクセスのAPIsでファイルパスを解決する際の // の処理に関する変更点(保留中)。

注意

この動作変更は2025_03バンドルで変更されます。

バンドルの現在のステータスについては、 バンドル履歴 をご参照ください。

Snowflakeでは現在、ステージとパス名の間に // を使用すると削除される一方、クラウドストレージではパス名にフォワードスラッシュ(/)を使用できるため、その処理がはっきりしていません。元々はユーザーによる名前の連結の支援が目的でした(例、 build_scoped_file_url(@stage, '/file.txt')@stage/file.txt という名前にするつもりが、実際には @stage//file.txt になってしまう)。この動作変更バンドルが有効になっている場合、Snowflakeはこの動作を排除することで明確な処理を行うようになります。

つまり、この動作変更により、 /file.txt がクラウドストレージ上に存在しない限り、 @stage//file.txt に対する解決は失敗することになります。

変更前:

UDFまたはストアドプロシージャの内部で解決されるファイルの場合:

  • @stage//file.txtstage-location/file.txt に解決されます

  • build_scoped_url(@stage, '//file.txt')stage-location/file.txt に解決されます

変更後:

UDFまたはストアドプロシージャの内部で解決されるファイルの場合:

  • @stage//file.txtstage-location//file.txt に解決されます

  • build_scoped_url(@stage, '//file.txt')stage-location//file.txt に解決されます

Ref: 1810