Python ストアドプロシージャからのデータアクセス¶
Snowpark ライブラリ APIs を使用して、ストアド プロシージャからデータにアクセスできます。
Snowflakeがストアドプロシージャ用に作成した Session
オブジェクトを使用してデータにアクセスするには、 Snowparkライブラリ でAPIsを呼び出します。たとえば、 テーブルの DataFrame を作成 したり、 SQL ステートメントを実行したりできます。
セッションのコンテキスト(権限、現在のデータベースとスキーマなどを含む)は、ストアドプロシージャが 呼び出し元権限で実行されるか、 の所有者権限で実行されるかによって決まります。詳細については、 セッション状態へのアクセスおよび設定 をご参照ください。
詳細については、 Snowpark開発者ガイド をご参照ください。
データアクセスの例¶
以下の例では、Pythonのメソッドがあるテーブルから別のテーブルに指定した行数をコピーしています。このメソッドは次の引数を取ります。
Snowpark
Session
オブジェクト行をコピーするテーブルの名前
行を保存するテーブルの名前
コピーする行の数。
この例のメソッドは文字列を返します。この例を Pythonワークシート で実行する場合は、 ワークシートの戻り値の型を変更 して String にします。
def run(session, from_table, to_table, count):
session.table(from_table).limit(count).write.save_as_table(to_table)
return "SUCCESS"