Snowflake Python API: PythonによるSnowflakeオブジェクトの管理

Snowflake Python API は、PythonとSnowflakeワークロードをシームレスに接続する統一ライブラリです。これは、データエンジニアリング、Snowpark、およびアプリケーションのワークロード全体で、 SQL コマンドを使用せずにSnowflakeのコアリソースと対話するための包括的な APIs を提供することを目的としています。

Snowflake Python API を使用して、Snowflakeリソースの作成、削除、変更などの管理を行うことができます。Pythonを使用して、Snowflakeの SQL コマンド で行うようなタスクを実行できます。

現在、Snowflake Python API を使用して、次のSnowflakeオブジェクトを管理できます。

Snowflake Python APIを使用するための入門チュートリアルについては、 クイックスタート: Snowflake Python API 入門 をご参照ください。

次の例のコードは、 my_task というタスクをを実行します。このコードでは、構成ファイルで定義された接続パラメーターを使用して Snowflake への接続を作成します。出来上がった Session オブジェクトを使って、コードは API のタイプとメソッドを使う Root オブジェクトを作成します。API を使用して、コードは my_task を表す Task オブジェクトを作成します。 task_res という TaskResource オブジェクトを使用して、コードはタスクを実行します。

from snowflake.core import Root
from snowflake.core.task import Task
from snowflake.snowpark import Session

session = Session.builder.config("connection_name", "myconnection").create()
root = Root(session)

tasks = root.databases["mydb"].schemas["myschema"].tasks
task_res = tasks['my_task']

task_res.execute()
Copy

API で実行できるタスク関連のアクションの詳細については、 PythonによるSnowflakeタスクとタスクグラフの管理 をご参照ください。

制限事項

Snowflake Python API は、現在Snowflake Anacondaチャンネルでは利用できません。

サポートされているバージョン

サポートされているPythonのバージョンは次のとおりです。

  • 3.8

  • 3.9

  • 3.10

  • 3.11

開発者ガイド

ガイド

説明

Snowflake Python API ライブラリをインストールする

Snowflake Python API パッケージをインストールします。

Snowflake Python API を使用してSnowflakeに接続する

PythonコードからSnowflakeに接続します。

PythonによるSnowflakeタスクとタスクグラフの管理

タスクとタスクグラフの作成、実行、管理には API を使用します。

PythonによるSnowflakeデータベース、スキーマ、テーブルの管理

データベース、スキーマ、テーブルの作成と管理には API を使用します。

PythonによるSnowflake仮想ウェアハウスの管理

仮想ウェアハウスの作成と管理には API を使用します。

Pythonを使用したSnowpark Container Servicesの管理

API を使用して、コンピューティングプール、イメージリポジトリ、サービスなど、Snowpark Container Servicesのコンポーネントを管理します。

参照

Snowflake Python API リファレンス

Snowflakeへのアクセスコスト

使用クレジットとネットワークアクティビティの両方のコストを削減するために、Snowflake Python API は、Snowflakeと同期するように設計されたメソッドを呼び出すときにのみ、Snowflakeと通信するように設計されています。

API 内のオブジェクトはローカル参照(または ハンドル)か、Snowflakeに格納された状態のスナップショットです。通常、Snowflakeから取得した情報を処理する場合は、ローカルのメモリ内参照オブジェクトを介して行います。

これらの参照は、メソッドを呼び出すまでSnowflakeと同期しません。メソッドを呼び出すと、通常、使用クレジットとネットワークアクティビティの両方でコストが発生します。対照的に、属性にアクセスするときなど、メモリ内参照を操作する場合は、作業はローカルで実行され、そのようなコストは発生しません。