Snowpark Pythonのセッションの作成¶
アプリケーションでSnowparkを使用するには、セッションを作成する必要があります。コードの記述に便利なように、パッケージやオブジェクトの名前をインポートすることもできます。
このトピックの内容:
セッションの作成¶
ライブラリを使用する最初のステップは、Snowflakeデータベースとのセッションを確立することです。
Sessionクラスをインポートします。
from snowflake.snowpark import Session
認証には、 Python用Snowflakeコネクタ がサポートするのと同じメカニズムを使用します。
Python用Snowflakeコネクタの connect 関数で使用するのと同じパラメーター(例: アカウント名、ユーザー名など)を使用して、Snowflakeデータベースとのセッションを確立します。詳細については、PythonコネクタAPIのドキュメントの 接続関数パラメーター をご参照ください。
connections.toml ファイルを使用した接続¶
接続構成ファイルに認証情報を追加するには、
- テキストエディターで - connections.tomlファイルを開いて編集します。たとえば、Linuxの vi エディターでファイルを開く場合:- vi connections.toml
- 新しいSnowflake接続定義を追加します。 - TOML の構成ファイルの基本設定は、 Snowsight で生成できます。詳細については、 Snowflakeに接続するためのクライアント、ドライバー、ライブラリ、またはサードパーティアプリケーションの構成 をご参照ください。 - たとえば、アカウント - myaccount、ユーザー- johndoe、パスワード認証情報とデータベース情報を持つ- myconnectionというSnowflake接続を追加するには、構成ファイルに以下の行を追加します。- [myconnection] account = "myaccount" user = "jdoe" password = "******" warehouse = "my-wh" database = "my_db" schema = "my_schema" - 接続定義は、 snowflake.connector.connect メソッドで利用可能なものと同じ構成オプションをサポートします。 
- オプション: 以下のように、さらに接続を追加します。 - [myconnection_test] account = "myaccount" user = "jdoe-test" password = "******" warehouse = "my-test_wh" database = "my_test_db" schema = "my_schema" 
- ファイルへの変更を保存します。 
- Pythonコードでは、以下と類似した接続名を - snowflake.connector.connectに提供し、- sessionに追加します。- session = Session.builder.config("connection_name", "myconnection").create() 
詳細については、 構成ファイル をご参照ください。
接続パラメーターを指定して接続する¶
これらのパラメーター(例: account、 user、 role、 warehouse、 database、 schema など)の名前と値を含むディクショナリ(dict)を構築します。
セッションを作成するには、
- Snowflakeに接続するためのパラメーターの名前と値を含むPythonディクショナリ( - dict)を作成します。
- このディクショナリを - Session.builder.configsメソッドに渡して、これらの接続パラメーターを持つビルダーオブジェクトを返します。
- builderの- createメソッドを呼び出して、セッションを確立します。
次の例では、接続パラメーターを含む dict を使用して、新しいセッションを作成します。
connection_parameters = {
  "account": "<your snowflake account>",
  "user": "<your snowflake user>",
  "password": "<your snowflake password>",
  "role": "<your snowflake role>",  # optional
  "warehouse": "<your snowflake warehouse>",  # optional
  "database": "<your snowflake database>",  # optional
  "schema": "<your snowflake schema>",  # optional
}
new_session = Session.builder.configs(connection_parameters).create()
account パラメーターには、使用する アカウント識別子 を使用します。アカウント識別子にはsnowflakecomputing.comサフィックスが含まれていないことに注意してください。
注釈
この例は、セッションを作成する1つの方法を示していますが、プロキシサーバーや OAuth を使用した、デフォルトの認証方式、シングルサインオン(SSO)、多要素認証(MFA)、キーペア認証など、他にもいくつかの接続方法があります。詳細については、 PythonコネクタによるSnowflakeへの接続 をご参照ください。
ウェブブラウザーを介したシングルサインオン(SSO)の使用¶
シングルサインオン(SSO)を使用するようにSnowflakeを構成 している場合は、認証にブラウザーベースの SSO を使用するようにクライアントアプリケーションを構成できます。
これらのパラメーター(例: account、 user、 role、 warehouse、 database、 authenticator など)の名前と値を含むディクショナリ(dict)を構築します。
セッションを作成するには、
- Snowflakeに接続するためのパラメーターの名前と値を含むPythonディクショナリ( - dict)を作成します。
- このディクショナリを - Session.builder.configsメソッドに渡して、これらの接続パラメーターを持つビルダーオブジェクトを返します。
- builderの- createメソッドを呼び出して、セッションを確立します。
次の例では、接続パラメーターを含む dict を使用して、新しいセッションを作成します。 authenticator オプションを externalbrowser に設定します。
from snowflake.snowpark import Session
connection_parameters = {
  "account": "<your snowflake account>",
  "user": "<your snowflake user>",
  "role":"<your snowflake role>",
  "database":"<your snowflake database>",
  "schema":"<your snowflake schema",
  "warehouse":"<your snowflake warehouse>",
  "authenticator":"externalbrowser"
}
session = Session.builder.configs(connection_parameters).create()
セッションを閉じる¶
クエリの実行にセッションを使用する必要がなくなり、現在実行中のクエリをキャンセルする場合は、Sessionオブジェクトのcloseメソッドを呼び出します。例:
new_session.close()