Pythonと Snowflake Notebooks の管理¶
Pythonで Snowflake Notebooks を管理できます。これは、 Snowsight の開発インターフェイスで、Pythonおよび SQL 用の対話的なセルベースのプログラミング環境を提供します。詳細については、 Legacy Snowflake Notebooksについて をご参照ください。
Snowflake Python APIs は、2つのタイプに分かれたノートブックを表しています。
Notebook: ノートブックの名前、バージョン、クエリーウェアハウス、.ipynbファイルなどのプロパティを公開します。NotebookResource: 対応するNotebookオブジェクトの取得、ノートブックのバージョン管理、ノートブックの実行に使用できるメソッドを公開しています。
前提条件¶
このトピックの例では、Snowflakeと接続するコードを追加して Root オブジェクトを作成し、そこからSnowflake Python Snowflake Python APIs を使用することを想定しています。
たとえば、以下のコードでは、構成ファイルで定義された接続パラメーターを使用してSnowflakeへの接続を作成します。
出来上がった Session オブジェクトを使って、コードは API のタイプとメソッドを使う Root オブジェクトを作成します。詳細については、 Snowflake Python APIs によるSnowflakeへの接続 をご参照ください。
ノートブックの作成¶
ノートブックを作成するには、まず Notebook オブジェクトを作成して、 API Root オブジェクトから NotebookCollection オブジェクトを作成します。 NotebookCollection.create を使って、新しいノートブックをSnowflakeに追加します。
次の例のコードは、 my_db データベースと my_schema スキーマの my_nb というノートブックを表す Notebook オブジェクトを作成します。
コードは、 NotebookCollection 変数 notebooks を作成し、 NotebookCollection.create を使用してSnowflakeに新しいノートブックを作成します。
既存の .ipynb ファイルのあるステージからノートブックを作成することもできます。次の例のコードは、 @my_stage ステージから、 notebook_file.ipynb ファイルでノートブックを作成します。
ノートブック詳細の取得¶
Notebook オブジェクトを返す NotebookResource.fetch メソッドを呼び出すことで、ノートブックに関する情報を取得できます。
次の例のコードは、 my_db データベースと my_schema スキーマの my_nb というノートブックに関する情報を取得します。
ノートブックのリスト¶
Notebook オブジェクトの PagedIter 反復子を返す NotebookCollection.iter メソッドを使用して、ノートブックを一覧表示することができます。
次の例のコードは、 my_db データベースと my_schema スキーマの my で始まる名前のノートブックをリストアップし、それぞれの名前を表示します。
ノートブック操作の実行¶
NotebookResource オブジェクトを使用して、バージョンの管理やノートブックの実行など、ノートブックの一般的な操作を行うことができます。
ノートブック・リソースでできるいくつかの操作を示すために、次の例のコードでは次のようにしています。
my_nbnotebook リソースオブジェクトを取得します。ノートブック・オブジェクトにライブバージョンを追加します。これは、 ALTER NOTEBOOK ... ADD LIVE VERSION と同等です。
Git接続が設定されていれば、ノートブックのライブバージョンをGitリポジトリにコミットします。そうでない場合は、ライブ・バージョンを
nullに設定します。詳細については、 ALTER NOTEBOOK をご参照ください。
ノートブックを実行します。
注釈
ノートブックを実行するには、まずライブ・バージョンを追加する必要があります。
ノートブックをドロップします。