Snowflake Python APIs:PythonによるSnowflakeオブジェクトの管理¶
Snowflake Python APIs パッケージは、PythonとSnowflakeワークロードをシームレスに接続する統一ライブラリです。これは、ファーストクラスPython APIを使って、データエンジニアリング、Snowpark、Snowpark ML、およびアプリケーションのワークロード全体で、 Snowflakeリソースと対話するための包括的なAPIsを提供することを目的としています。
Snowflake Python APIs を使用して、Snowflake リソースの作成、ドロップ、変更などの管理を行うことができます。Pythonを使用して、Snowflakeの SQL コマンド で行うようなタスクを実行できます。
一般的なコンセプトやデザインパターンなど、 API の詳細については、 Snowflake Python APIs: 一般概念 をご参照ください。
サポートされるSnowflakeリソースオブジェクト¶
注釈
API リファレンスドキュメント は、 Snowflake Python APIs の最新版を反映しています。API のすべてのリソースが現在、同等の SQL コマンド </sql-reference-commands> を100%カバーしているわけでは ありません:doc: が、Python APIs は活発に開発中であり、継続的に拡張されていることにご注意ください。
Snowflake Python APIs では、現在以下の Snowflake リソースオブジェクトを管理できます。
- AI および ML(政府リージョンではご利用いただけません) 
- Snowpark Container Servicesのコンポーネント (政府リージョンではご利用いただけません) 
SnowflakeのPythonエコシステム¶
Snowflake Python APIs 、 Snowpark API for Python 、および Snowflake Connector for Python は、Snowflakeでそれぞれ異なる目的を持つインターフェイスです。このセクションでは、それぞれの違いを説明し、それぞれの一般的なユースケースについて紹介します。
- Snowflake Python APIs
- このファーストクラスのPython APIs のセットを使用して、Snowflakeワークロード全体のコアリソース(テーブル、ウェアハウス、タスクなど)を定義および管理できます。Pythonコネクタとは異なり、これらの APIs は SQL を使用せずにネイティブのPythonを使用してSnowflakeとやり取りします。 - Snowflake Python APIs パッケージは、すべてのSnowflake Python ライブラリ( - connector、- core、- snowpark、- mlを含む)を統合しているため、- pip install snowflakeコマンドで簡単に開始できます。- 宣言型プログラミングアプローチに従って、この API を DevOps ツールとして使用し、リソースへの変更を管理し、Snowflakeでのコードとインフラストラクチャのデプロイを自動化できます。 
- Snowpark
- このライブラリとコード実行環境のセットは、Snowflakeのデータの隣でPythonやその他のプログラミング言語を実行できます。 - ライブラリ: Snowpark API を使用すると、コード内でSnowpark DataFrames を使用して、Snowflake内で完全にデータをクエリおよび変換できます。Snowparkアプリケーションは、アプリケーションコードが実行されるシステムにデータを移動することなく、Snowflakeエンジン上で直接大規模にデータを処理します。 - Snowpark API はPython、Java、Scalaで利用できます。 
- コード実行環境: Snowparkランタイム環境は、コンテナイメージとPython、Java、Scalaのコードをサポートします。 - Pythonユーザー定義関数(UDFs)またはストアドプロシージャを使用してカスタムPythonコードを実行し、データパイプラインやアプリなどを構築できます。Pythonランタイム環境はAnacondaからパッケージリポジトリとパッケージマネージャーにアクセスできます。 - ランタイム環境はScalaおよびJavaでも利用できます。 
- Snowpark Container Services を使用すると、コンテナ化されたアプリケーションをSnowflake内で直接実行できます。 
 
 
- Snowflake Connector for Python
- この SQL ドライバーを使用してSnowflakeに接続し、 SQL ステートメントを実行し、Pythonクライアントを使用して結果を取得します。 - Pythonコネクタを使用すると、 SQL ステートメント文字列を使用してSnowflakeとのすべてのやり取りを記述できます。 
Snowflake Python APIs 入門¶
Snowflake Python Snowflake Python APIs の使用を開始するには、次のトピックの手順をご参照ください。
Snowflake Python APIs 入門のチュートリアルについては、 チュートリアル: Snowflake Python APIs 入門 をご参照ください。
サポートされているPythonバージョン¶
サポートされているPythonのバージョンは次のとおりです。
- 3.13 
一般公開されているバージョン:
- 3.9 
- 3.10 
- 3.11 
- 3.12 
開発者ガイド¶
| ガイド | 説明 | 
|---|---|
| Snowflake Python APIs パッケージをインストールします。 | |
| PythonコードからSnowflakeに接続します。 | |
| API を使用して、アカウントや管理アカウントの作成と管理を行います。 | |
| アラートの作成と管理には API を使用します。 | |
| API を使用して、外部ボリューム、パイプ、ステージなど、データのロードとアンロードのリソースを作成および管理します。 | |
| データベース、スキーマ、テーブルの作成と管理には API を使用します。 | |
| 動的テーブルの作成と管理には API を使用します。 | |
| API を使用して、ユーザー定義関数(UDFs)とストアド・プロシージャを作成し、管理します。 | |
| API を使用して、カタログ統合と通知統合を作成および管理します。 | |
| ネットワークポリシーの作成と管理には API を使用します。 | |
| Snowflake Notebooks の作成と管理には API を使用します。 | |
| API を使用して、コンピューティングプール、イメージリポジトリ、サービスなど、Snowpark Container Servicesのコンポーネントを管理します。 | |
| ストリームの作成と管理には API を使用します。 | |
| タスクとタスクグラフの作成、実行、管理には API を使用します。 | |
| API を使用して、ユーザー、ロール、およびグラントを作成および管理します。 | |
| 仮想ウェアハウスの作成と管理には API を使用します。 | 
参照¶
Snowflakeへのアクセスコスト¶
使用クレジットとネットワークアクティビティの両方のコストを削減するために、 Snowflake Python APIs は、Snowflakeと同期するように設計されたメソッドを呼び出すときにのみ、Snowflakeと通信するように設計されています。
API 内のオブジェクトはローカル参照(または ハンドル)か、Snowflakeに格納された状態のスナップショットです。通常、Snowflakeから取得した情報を処理する場合は、ローカルのメモリ内参照オブジェクトを介して行います。
これらの参照は、メソッドを呼び出すまでSnowflakeと同期しません。メソッドを呼び出すと、通常、使用クレジットとネットワークアクティビティの両方でコストが発生します。対照的に、属性にアクセスするときなど、メモリ内参照を操作する場合は、作業はローカルで実行され、そのようなコストは発生しません。
