アプリケーションの作成とインストール¶
前提条件¶
config.toml
ファイルに既存の接続が必要です。ネイティブアプリのプロジェクトに
snowflake.yml
ファイルが必要です。
アプリケーションパッケージとアプリケーションオブジェクトを一緒に作成する方法¶
snow app run コマンドは、さまざまなコードファイルをすべてまとめてアプリケーションパッケージを作成し、このアプリケーションパッケージ内のSnowflakeステージにコードをアップロードし、 セットアップスクリプトを検証し SQL 、このアプリケーションパッケージから同じアカウント内のアプリケーションをインストールまたはアップグレードします。このコマンドは、解決されたプロジェクト定義で指定された値によって駆動され、ファイルをアップロードするステージ、アップロードするファイル、および作成するオブジェクトの名前を決定します。
アプリケーションオブジェクトを作成するには、次を実行します。
必要に応じて、 接続を作成します。
snowflake.yml
、manifest.yml
、セットアップスクリプト、拡張機能コードファイルなど、コードファイルに関連する変更を加えます。次のように、プロジェクト内から
snow app run
コマンドを実行します。snow app run --connection="dev"
成功すると、次のようなメッセージが表示されます。
Your application ("my_app_admin") is now live: https://app.snowflake.com/data_org/data_acct/#/apps/application/my_app_admin
snow app run --connection="dev"
コマンドを使用すると、 Snowflake CLI によって自動的に管理される名前付きステージ上のファイルを使用するアプリケーションが作成されます。アプリケーションパッケージが既に存在する場合でも、コマンドを使用してアプリケーションを作成または更新することもできます。この場合、コマンドはアプリケーションオブジェクトに対して UPGRADE を発行し、セットアップスクリプトを実行します。セットアップスクリプトの再実行を回避する方法については、次のセクションをご参照ください。
既存のアプリケーションパッケージのバージョン(およびパッチ)を使用してアプリケーションを作成するには、次のコマンドを実行します。
snow app run --version v1 --patch 12 --connection="dev"
ここでは、バージョン V1
とパッチ 12
は例としてのみ使用されています。 Snowflake Native App オブジェクトの作成の詳細については、 snow app run コマンドをご参照ください。
アプリケーションパッケージを作成する方法¶
snow app deploy
コマンドは、Snowflakeにコードをデプロイするために:codenowrap:snow app run
が取るステップのサブセットを実行します。snow app deploy
コマンドは、さまざまなコードファイルをすべてまとめてアプリケーションパッケージを作成し、このアプリケーションパッケージ内の名前付きステージにコードをアップロードし、 セットアップスクリプトを検証 SQL しますが、アプリケーションオブジェクトの作成またはアップグレードは行いません。
snow app deploy
コマンドは、特に次のような場合に便利です。
アプリケーションオブジェクトが不要な場合(継続的デリバリーパイプラインの一部など)、アプリケーションパッケージとステージファイルのみをデプロイします。
アプリケーションオブジェクトにリンクされたステージファイルを更新します。たとえば、Pythonコードファイルのみを変更した場合、ステージ開発モードを使用するときに、それを指す PROCEDURE、 FUNCTION、 STREAMLIT オブジェクトを再作成する必要はありません。このアプローチでは、更新されたPythonコードを使用するためにウェアハウスを使用してセットアップスクリプトを再実行する必要がないため、時間とコストが節約されます。
対応するアプリケーションオブジェクトなしでアプリケーションパッケージを作成するには、次の手順を実行します。
必要に応じて、 接続を作成します。
snowflake.yml
、manifest.yml
、セットアップスクリプト、拡張機能コードファイルなど、コードファイルに関連する変更を加えます。次のように、プロジェクト内から
snow app deploy
コマンドを実行します。snow app deploy --connection="dev"
成功すると、次のようなメッセージが表示されます。
Checking if stage exists, or creating a new one if none exists. Performing a diff between the Snowflake stage and your local deploy_root ... Deployed successfully. Application package and stage are up-to-date.
また、snow app deploy
コマンドの後に位置引数としてパスをリストすることにより、snow app deploy
コマンドを使用してステージに同期するファイルを制限することもできます。この機能やその他の高度な機能の詳細については、 snow app deploy コマンドをご参照ください。