アプリを開発するために Snowflake CLI を設定する¶
このトピックでは、プロバイダーが Snowflake Native Apps の開発および管理のために Snowflake CLI をインストールして使用する方法を説明します。 Snowflake CLI は、 SQL 操作に加えて、開発者中心のワークロード向けに明示的に設計されたオープンソースのコマンドラインツールです。
Snowflake CLI のインストールと構成¶
Snowflake CLI をインストールして構成するには、次のステップに従います。
オペレーティングシステムの Snowflake CLI をインストールします。
詳細については、 Snowflake CLI のインストール をご参照ください。
Snowflakeアカウントへの接続を設定します。
詳細については、 Snowflake CLI の構成 をご参照ください。
Snowflake CLI プロジェクトとアプリのテンプレートについて¶
Snowflake CLI を使用して Snowflake Native App を開発する場合、プロジェクト内で作業します。プロジェクトは、 Snowflake Native App に必要なすべてのファイルとディレクトリを含むディレクトリです。他のコードリポジトリと同様に、これらのファイルはgitなどのテクノロジーを使用してバージョン管理でき、Githubなどのプラットフォームで共有できます。
Snowflakeには、プロジェクトを設定するために使用できるアプリテンプレートが用意されています。これらのテンプレートは snowflake-cli-templates GitHub リポジトリ で入手できます。
利用可能なテンプレートは次のとおりです。
テンプレート |
説明 |
|---|---|
app_basic |
アプリに必要な必須ファイルとディレクトリを含む基本的なテンプレート。 |
app_streamlit_java |
アプリに必要な必須ファイルとディレクトリ、Java拡張コード、Streamlitアプリのサンプルを含むテンプレート。 |
app_streamlit_js |
アプリに必要な必須ファイルとディレクトリ、 JavaScript 拡張コード、Streamlitアプリのサンプルを含むテンプレート。 |
app_streamlit_python |
アプリに必要な必須ファイルとディレクトリ、Python拡張コード、Streamlitアプリのサンプルを含むテンプレート。 |
Snowflake Native App の新しいプロジェクトを設定する¶
Snowflake Native App の新しいプロジェクトを設定するには、次のステップに従います。
initコマンドを実行して新しいプロジェクトを作成します。snow init --template <template_name> <project_name>
プロジェクト識別子の値を入力してください。
この値は、アプリケーションパッケージなど Snowflake CLI が作成するアプリコンポーネントのベース名として使用されます。この値は、後でプロジェクト定義ファイルで変更または上書きできます。
このコマンドを実行すると、コマンドを実行したディレクトリに <project_name> という名前の新しいディレクトリが作成されます。このディレクトリには、 Snowflake Native App に必要なファイルとディレクトリが含まれ、次のようなディレクトリ構造を持ちます。
<project_name>/
├── app/
├── manifest.yml
├── README.md
├── setup_script.sql
├── README.md
├── snowflake.yml
このディレクトリ内のフォルダーとファイルについて、次の表で説明します。
ファイル/ディレクトリ |
説明 |
|---|---|
|
このディレクトリにはアプリのアプリケーションコードとリソースが含まれています。必要に応じて、このディレクトリにあるファイルを変更または追加できます。 |
|
このファイルは、アプリ名、バージョン、説明、リソースなど、アプリのメタデータと構成を定義します。詳細については、 アプリのマニフェストファイルの作成 をご参照ください。 |
|
このファイルは、アプリの概要と使用手順を提供します。これは、Snowflake Marketplaceに表示される README ファイルです。 |
|
この SQL スクリプトは、アプリのインストール時に実行されます。このスクリプトを変更して、アプリに必要なセットアップ手順を含めることができます。詳細については、 Create the setup script をご参照ください |
|
このファイルは、プロジェクトの概要とアプリで Snowflake CLI を使用するための手順を提供します。 |
|
これは、Snowflakeにデプロイ可能なオブジェクトを記述するプロジェクト定義ファイルです。アプリの一部であるリソースを定義するには、このファイルを変更する必要があります。 |
プロジェクト定義ファイルを作成する¶
Snowflake CLI は、プロジェクト定義ファイルを使用して、Snowflakeにデプロイ可能なオブジェクトを記述します。このファイルの名前は snowflake.yml にする必要があります。このファイルはアプリケーションパッケージの名前を決定し、 Snowflake Native App の一部であるリソースを指定します。
プロジェクト定義ファイルの詳細については、 プロジェクト定義ファイル をご参照ください。
以下は、 Snowflake Native App に使用される単純な snowflake.yml ファイルの例です。
definition_version: 2
entities:
hello_snowflake_package:
type: application package
stage: stage_content.hello_snowflake_stage
manifest: app/manifest.yml
identifier: hello_snowflake_package
artifacts:
- src: app/*
dest: ./
hello_snowflake_app:
type: application
from:
target: hello_snowflake_package
debug: false
次の表では、この例のフィールドについて説明します。
フィールド |
説明 |
|---|---|
|
プロジェクト定義ファイル形式のバージョン。現在のバージョンは2です。 |
|
プロジェクトの一部であるエンティティのリスト。各エンティティは一意の識別子とタイプを持ちます。 |
|
アプリケーションパッケージエンティティの識別子。この名前は、アプリケーションパッケージなど Snowflake CLI が作成するアプリコンポーネントのベース名として使用されます。 |
|
エンティティの型。この場合、 |
|
アプリケーションパッケージが格納されているステージ。 |
|
アプリのメタデータと構成を定義するマニフェストファイルへのパス。 |
|
アプリケーションパッケージエンティティの識別子。この名前は、アプリケーションパッケージなど Snowflake CLI が作成するアプリコンポーネントのベース名として使用されます。 |
|
アプリケーションパッケージに含まれるファイルとディレクトリのリスト。各アーティファクトはソース( |
|
アプリケーションエンティティの識別子。 |
|
アプリケーションのソースを指定します。この場合、 |
|
アプリのデバッグモードが有効になっているかどうかを示すブール値。 |
Snowflake Native App を開発する¶
プロジェクトを設定し、プロジェクト定義ファイルを作成したら、 アプリケーションパッケージを作成し、マニフェストファイルとセットアップスクリプトを変更して、 Snowflake Native App の開発を開始できます。
詳細については、次のトピックをご参照ください。