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