SQL で作成されたストアドプロシージャにおける Scala の制限。¶
ストアドプロシージャには以下の制限があります。
同時実行はサポートされていません。たとえば、コード内からは、複数のスレッドからクエリを送信することはできません。複数のクエリを同時に発行するコードはエラーを生成します。
タスクからストアドプロシージャを実行する場合は、タスクの作成時にウェアハウスを指定する必要があります。(サーバーレスコンピューティングリソースを使用してタスクを実行することはできません。)
ストアドプロシージャでSnowpark APIs を使用する場合は、次の制限に注意してください。
PUT および GET コマンド (
Session.sql("PUT ...")
およびSession.sql("GET ...")
を含む) を実行する APIs を使用する場合、プロシージャを呼び出すクエリ用に提供されるメモリバッ クドファイルシステム内の/tmp
ディレクトリにのみ書き込むことができます。新しいセッションを作成する APIs (例:
Session.builder().configs(...).create()
)は使用しないでください。session.jdbcConnection
(およびそこから返される接続)の使用は、安全でない動作につながる可能性があるため、サポートされていません。
名前付き仮オブジェクトの作成は、所有者権限のストアドプロシージャではサポートされていません。所有者権限ストアドプロシージャは、ストアドプロシージャ所有者の権限で実行されるストアドプロシージャです。詳細については、 呼び出し元の権限または所有者の権限 をご参照ください。