Native Application Frameworkにおける宣言型共有用のアプリケーションパッケージ

プロバイダーとして、データコンテンツとノートブックを Declarative Native App にバンドルするアプリケーションパッケージを作成します。このトピックでは、アプリケーションパッケージとは何かを説明し、初期パッケージの作成からマニフェストとノートブックファイルの追加まで、アプリケーションパッケージを作成するための大まかな手順について説明します。

アプリケーションパッケージおよびライブバージョン

アプリケーションパッケージは、アプリを構成するすべてのファイルのコンテナです。これには、マニフェスト ファイルおよび任意の Snowflakeノートブック が含まれます。アプリパッケージを作成すると、アプリパッケージのライブ(ステージング)バージョンも作成されます。ライブバージョンは、マニフェストファイルやノートブックファイルなどのファイルを追加または更新し、公開前にエクスペリエンスをプレビューおよびテストできる開発ワークスペースです。

アプリのライブバージョンに満足したら、ライブバージョンをコミットして、アプリケーションパッケージの新しい変更不可バージョンを作成し、それを公開することができます。

開発用にライブバージョンを使用すると、公開の準備ができているアプリケーションパッケージの単一の変更不可バージョンと、開発用の単一のライブバージョンを維持することができ、バージョン管理が簡素化されます。Snowflake Native App Framework はアプリケーションパッケージのバージョン管理を自動的に行うため、手動でバージョン番号を追跡する必要はありません。

Snowflake Native App Framework は、すべてのアプリケーションパッケージのライブバージョンを自動的に維持します。ライブバージョンを削除しても、アプリケーションパッケージの最後にコミットされたバージョンから新しいライブバージョンが自動的に作成されます。

アプリケーションパッケージを作成する

プロバイダーは、アプリケーションパッケージ の開発およびテストを行います。アプリケーションパッケージは、アプリでデータを共有するために必要なファイルを含み、コンシューマーがデータにアクセスする方法を定義します。

プロセスには次のステップが含まれます。

  1. **アプリパッケージプロジェクトを作成する**(初回のみ): 後で公開されるアプリパッケージプロジェクトを作成します。これにより、アプリケーションパッケージのライブバージョンも作成されます。

  2. アプリパッケージにコンテンツを追加する:

    1. マニフェストファイルを作成または更新する: このファイルには、アプリパッケージとそのコンテンツが記述されています。

    2. ノートブックファイルをダウンロードする。ノートブックが含まれる場合は、アプリパッケージに含まれるコピーをダウンロードしてください。

    3. アプリケーションパッケージのライブバージョンにファイルを追加する

  3. アプリケーションパッケージをビルドする: マニフェストファイルが有効であり、マニフェストファイル内のすべてのリンクが正しいことを確認できます。

  4. アプリをテストします。アプリをインストールして試してください。変更を加え、再構築します。

  5. アプリケーションパッケージをコミットする: 公開可能な新しい変更不可バージョンのアプリを作成します。

  6. アプリケーションパッケージをリリースする。リリースされたパッケージによって、Snowflake Marketplace に新しいリストをプライベートまたはパブリックで作成できます。

このプロセスは「チュートリアル:Declarative Native Apps 入門」で説明されています。このセクションには、開発のさまざまなステージで利用可能なオプションの詳細が含まれています。

アプリケーションパッケージの作成ステップを示す図。ライブパッケージを追加、ビルド、コミット、リリースを行います。この図は、スキップしてライブバージョンを一度にビルド、コミット、リリースするためのオプションのステップも示しています。

新しいアプリケーションパッケージの作成

まず、snow://package/<DECL_SHARE_APP_PKG>/versions/LIVE/ URL スキームを使用して、Snowsight または Snowflake CLI の SQL コマンドを介して、アプリのファイルを保持する新しい Declarative Native App パッケージを作成します。

Snowsight を使用して新しいアプリパッケージを作成する方法は次のとおりです。

  1. Snowsight にサインインします。

  2. ナビゲーションメニューで Projects » App Packages を選択します。

  3. Share Data + Code カードで、 Create を選択します。

  4. アプリパッケージの名前を入力し、 Create を選択します。

新しい空のアプリパッケージが作成されます。これにより、編集できるアプリケーションパッケージのライブバージョンも作成されます。

アプリケーションパッケージのコンテンツを組み立てる

アプリパッケージには以下のコンポーネントが含まれます。

  • マニフェスト ファイル(必須): アプリの構造を定義するテキストベースのファイル。

  • Snowflakeノートブック ファイル(オプション):共有ビューとテーブルを参照し、コンシューマー体験のフロントエンドとして機能する1つ以上のテキストベースのファイル。また、コードや参照の可視化、データの提示を支援するロジックを含めることもできます。

アプリパッケージのコンポーネント図

マニフェストファイルの作成または更新

アプリパッケージとその共有コンテンツ(ノートブック、テーブル、ニューなど)を記述する マニフェスト ファイルを作成または更新できます。アプリに含まれている :doc:`アプリロール <app-roles>`のような他のメタデータを定義します。

マニフェストファイルの名前は manifest.yml である必要があり、アプリケーションパッケージのルートレベルに追加する必要があります。

詳細については、 Declarative Native App マニフェストリファレンス をご参照ください。関連する:doc:`tutorials/getting-started`には、マニフェストファイルの例が含まれています。

Snowflakeデータ共有からマニフェストファイルを作成または更新する

注釈

以下のコンテンツはSnowflakeではサポートされていません。すべてのコードは「AS IS」条件で保証なしに提供されます。

Snowflakeに既存のデータ共有がある場合、オープンソースのManifest from Shareツールを使用してマニフェストファイルを自動的に作成できます。このSnowflake 提供ツールは、指定された共有内のオブジェクトに基づいてマニフェストファイルを生成します。このツールには、生成されたマニフェストファイルをカスタマイズするためのオプションも含まれています。このツールは次のような使い方ができます。

  • コマンドラインインタフェース(CLI)を使用してマニフェストファイルを生成する

  • このツールを既存のPython自動化ワークフローにライブラリとして統合する

ツールのダウンロードと使用方法の詳細については、 GitHubの Snowflake Manifest from Share リポジトリをご参照ください。

注釈

Manifest from Shareツールは、データ共有のデータベース、スキーマ、テーブル、およびビューを使用してマニフェストファイルを作成するだけです。このツールは、生成されたマニフェストファイルに他のオブジェクトを含めません。

ノートブックファイルの取得

Snowflakeノートブック をアプリに含める必要がある場合、アプリケーションパッケージに含めることができるように、各ノートブックファイルのコピーをダウンロードしてください。

Snowsight で:

  1. ナビゲーションメニューで、Projects » :ui:`Notebooks`を選択し、その後ダウンロードするノートブックを選択します。

  2. 左ペインのノートブックの横で、... » Download を選択します。

ファイルは、:file:`<notebook_name>.ipynb`という名前のファイルとしてローカルマシンにダウンロードされます。.

注釈

ノートブック環境には、PythonやStreamlitなどのAnacondaパッケージがプリインストールされています。ノートブックが追加のAnacondaパッケージを使用する場合は、コンシューマーの環境で使用できるように、それらをパッケージとしてノートブックに追加する必要があります。ノートブックにAnacondaパッケージを追加する方法 については、「ノートブックへのAnacondaパッケージの追加」を参照してください。

ライブバージョンへのファイルの追加

アプリパッケージのライブバージョンにマニフェストとノートブックファイルを追加する方法は次のとおりです。

Snowsight を使用してアプリパッケージに入力する:

  1. アプリパッケージのリストをまだ表示していない場合は、ナビゲーションメニューから Projects`|raa|:ui:`App Packages を選択し、ファイルを追加するアプリパッケージを選択します。

  2. Upload files を選択します。(ファイルを置換または追加する場合は、 Manage files を選択し、 Upload files を選択します。)

  3. ノートブックファイルとマニフェストをハードディスクから、指定された Upload files ダイアログにドラッグするか、 Browse を選択してファイルを見つけて選択します。

  4. Upload を選択してライブステージにファイルをアップロードし、ビルドをトリガーします。

アプリケーションパッケージからファイルをダウンロードする

Snowflake CLI の :doc:`/sql-reference/sql/get`SQL コマンドを使用して、アプリパッケージからファイルをダウンロードできます。

snow sql -q "GET snow://package/<DECL_SHARE_APP_PKG>/versions/LIVE/manifest.yml file://manifest.yml"
Copy

アプリケーションパッケージからコンテンツを削除する

アプリケーションパッケージからファイルを削除することができます。

Snowsight を使用して、

  1. アプリパッケージのリストをまだ表示していない場合は、ナビゲーションメニューから Projects`|raa|:ui:`App Packages を選択し、ファイルを削除するアプリパッケージを選択します。

  2. Manage files » Remove files を選択します。

  3. 削除するファイルを選択し、 Delete を選択します。

  4. Remove files ダイアログで、削除するファイルを選択し、 Remove & build を選択します。

アプリケーションパッケージをビルドします。

次に、アプリのテスト可能なバージョンをビルドします。

Snowsight で

  • アプリパッケージにファイル一式をアップロードすると、ビルドが自動的に開始されます。

  • それ以外の時間にビルドを実行するには、アプリパッケージの ページにあるビルドボタンを選択します。

マニフェストファイルにエラーがある場合は、ビルドが失敗し、エラーの修正方法に関する情報が提供されます。エラーを修正し、アプリパッケージを再構築します。

ビルドされたアプリはライブ状態を維持し、アプリケーションパッケージに引き続き変更を加えることができます。

スキップする

それ以上のテストを必要としない更新については、ALTER APPLICATION PACKAGE ... RELEASE LIVE VERSION コマンドを使用して一度にアプリケーションパッケージをビルド、コミット、リリースすることで先にスキップすることができます。

ALTER APPLICATION PACKAGE <DECL_SHARE_APP_PKG> RELEASE LIVE VERSION;
Copy

アプリケーションのテスト

アプリパッケージをビルドしたら、ライブ環境から基本的なテストを実行できます。

CREATE APPLICATION ... FROM APPLICATION PACKAGE コマンドを使って、アプリパッケージからアプリをインストールし、<DECL_SHARE_APP> をアプリの名前に置き換えます。例:

CREATE APPLICATION <DECL_SHARE_APP> FROM APPLICATION PACKAGE <DECL_SHARE_APP_PKG>
Copy

必要に応じてアプリケーションパッケージのファイルを更新し、 ALTER APPLICATION PACKAGE … UPGRADE USING VERSION LIVE コマンドを使用して機能するかどうかを確認します。

ALTER APPLICATION PACKAGE <DECL_SHARE_APP_PKG> UPGRADE USING VERSION LIVE;
Copy

アプリロールなどの一部の機能をテストするには、まず新しいバージョンのアプリケーションパッケージをリリースし、別のコンシューマーアカウントを使用してテストする必要があります。詳細については、 Declarative Native App をインストール および Declarative Native App のコンテンツへのアクセス をご参照ください。

オプション:ライブバージョンの編集のリセット

アプリケーションパッケージのライブバージョンに加えた編集が不要になった場合は、ALTER APPLICATION PACKAGE ... ABORT LIVE VERSION コマンドで編集を行う前の状態にアプリケーションパッケージをリセットすることができます。

ALTER APPLICATION PACKAGE <DECL_SHARE_APP_PKG> ABORT LIVE VERSION;
Copy

前述のコマンドを使用して現在のライブバージョンを削除すると、アプリケーションパッケージの最後にコミットされたバージョンと同じ内容の新しいライブバージョンが作成されます。ライブバージョンは最後にコミットされたバージョンにリセットされ、ライブバージョンに加えられたすべての変更は破棄されます。

アプリケーションパッケージをコミットし、リリースする

アプリパッケージをコミットすると、編集できず、公開の準備ができているアプリの新しい不変バージョンが構築されます。アプリパッケージをリリースすると、次のことが行われます。

  • コミットされたアプリをコンシューマーと共有できるようにします。

  • プロバイダーがすでにコンシューマーとアプリを共有している場合、新しいバージョンがそれらのコンシューマーに自動的に利用可能になります。

  • Snowflake Marketplaceにアプリのライブバージョンがすでにある場合、アプリをインストールしたコンシューマーは新しいバージョンを自動的に利用できます。

Snowsight を使用してアプリパッケージをコミットしてリリースする方法は次のとおりです。

  1. アプリパッケージのリストをまだ表示していない場合は、ナビゲーションメニューから Projects`|raa|:ui:`App Packages を選択し、リリースするアプリパッケージを選択します。

  2. Commit & release を選択します。

  3. 確認ダイアログで、 Acknowledge & continue を選択します。

コミットされたアプリパッケージがリリースされ、アプリパッケージのライブバージョンが削除されます。さらなる開発のために、新しいコミットされたバージョンからアプリケーションパッケージの新しいライブバージョンが作成されます。

アプリパッケージをコミットしてリリースすると、 Latest release タブにはリリースの内容が表示されます。これは前回のビルドの内容と同じです。

アプリケーションパッケージをリリースした後、Snowflake Marketplace でプライベートまたはパブリックでアプリの新しいリストを作成できます。詳細については、 宣言型共有を使用してリストを作成する をご参照ください。