Snowflake Native App Frameworkワークフロー

このトピックでは、 Snowflake Native App の開発、公開、インストールのワークフローについて説明します。

開発ワークフロー

以下のワークフローは、 Snowflake Native App を開発し、テストするための一般的なタスクの概要を示しています。

注釈

アプリの開発は反復プロセスです。アプリケーションや環境の要件に応じて、これらのタスクの多くを複数回実行したり、異なる順序で実行したりする場合があります。

  1. 開発環境を設定します。

    Snowflake Native App を開発するには、開発環境をセットアップする必要があります。これには次が含まれます。

    • Snowflake CLI をインストールします。アプリを開発するために Snowflake CLI を設定する をご参照ください。

    • アプリケーションファイルをアップロードするステージを作成します。

      注釈

      Snowflake CLI を使用している場合、 Snowflake CLI は開発中にアプリケーションファイルをアップロードする仮ステージを自動的に作成するので、手動でステージを作成する必要はありません。

      SQL を使用したステージの作成については、 CREATE STAGE をご参照ください。Snowsight を使用したステージの作成については、 Snowsightを使用したファイルのステージング をご参照ください。

  2. アプリケーションパッケージを作成 します。

    アプリケーションパッケージは、アプリに必要なデータコンテンツ、アプリケーションロジック、メタデータ、セットアップスクリプトをカプセル化したコンテナです。

  3. アプリの セットアップスクリプトを作成 します。

    セットアップスクリプトには、コンシューマーがアプリをインストールするときに作成されるコンポーネントを定義する SQL ステートメントが含まれます。

  4. :doc:` アプリケーションのマニフェストファイル </developer-guide/native-apps/manifest-overview>` を作成します。

    マニフェストファイルは、セットアップスクリプトの場所やバージョンなど、アプリに必要な構成および設定プロパティを定義します。

  5. ステージにアプリケーションファイルをアップロードします。

    セットアップスクリプト、マニフェストファイル、およびアプリが必要とするその他のリソースは、アプリを開発する際にこれらのファイルを利用できるようにするため、名前付きのステージにアップロードする必要があります。

  6. アプリのバージョンとパッチを追加します。

    詳細については、 リリースチャネル、バージョン、パッチについて をご参照ください。

  7. アプリに共有データコンテンツを追加します。

    アプリの一部として、データコンテンツをコンシューマーと安全に共有することができます。詳細については、 Snowflake Native App でデータのコンテンツを共有する をご参照ください。

  8. アプリに機能を追加します。

    次のような追加の機能を提供するためにアプリにさまざまな機能を追加できます。

  9. Set up logging and event handling to troubleshoot your app.

    アプリのトラブルシューティングを行うには、ログとイベント処理を設定します。コンシューマーは自分のアカウントでログとイベント処理を設定し、プロバイダーと共有することができます。

  10. アプリのリリースディレクティブを設定します。

    リリースディレクティブは、どのバージョンとパッチレベルがコンシューマーにより利用可能かを決定します。アプリケーションパッケージのリリースチャネルごとにリリースディレクティブを設定できます。詳細については、 リリースチャンネルを使用したリリースディレクティブのセット をご参照ください。

  11. アプリをテストします。

    コンシューマーに公開する前に、自分のアカウントでアプリをテストできます。詳細については、 アプリをローカルにインストールしてテストする をご参照ください。

    Snowflakeは、 開発モードデバッグモード を提供して、アプリのさまざまな側面をテストします。

  12. 自動セキュリティスキャンを実行 します。

    アプリを組織外のコンシューマーと共有する前に、アプリが自動セキュリティスキャンに合格し、安全で安定していることを確認する必要があります。

公開ワークフロー

アプリケーションを開発してテストした後、プロバイダーはアプリを公開してコンシューマーと共有することができます。

  1. プロバイダーになります

    プロバイダーになると、アプリケーションをコンシューマーと共有するためのリストを作成、管理することができます。

  2. リストを作成。

    アプリをコンシューマーと共有するために、プライベートリストまたは Snowflake Marketplace リストを作成することができます。詳細については、 アプリケーションパッケージのためのリストの作成 をご参照ください。

  3. 承認を得るためにリストを送信します。

    リストを Snowflake Marketplace に公開する前に、承認のためにリストをSnowflakeに送信する必要があります。詳細については、 承認のためのリストの送信 をご参照ください。

  4. リストを公開します。

    リストが承認されたら、リストを公開してコンシューマーに公開することができます。詳細については、 アプリのためのリストの公開 をご参照ください。

コンシューマーワークフロー

コンシューマーはリストからアプリを検索し、インストールすることができます。アプリのインストール後、コンシューマーはアプリを構成、使用、モニターできます。コンシューマーとしてのアプリの操作 をご参照ください。

  1. Snowflakeコンシューマーになります

    Snowflakeコンシューマーになると、プライベートで、または Snowflake Marketplace で共有されているリストにアクセスすることができます。より制限されたデータ共有機能を提供する直接共有やデータ交換の一環として共有されたデータにアクセスすることもできます。

  2. アプリをインストール します。

    コンシューマーはリストからアプリをインストールすることができます。

  3. アプリが必要とする権限を付与 します。

    アプリによっては、コンシューマーにグローバル権限とオブジェクトレベル権限をアプリに付与することを要求する場合があります。

  4. ログとイベント共有を有効にして、アプリをトラブルシューティングできるようにします

    データプロバイダーは、ログやイベントデータを出力するアプリを設定することができます。コンシューマーはこのデータをプロバイダーと共有するためにイベントテーブルを設定することができます。ログとイベントデータは、アプリをトラブルシューティングする際に役立ちます。

  5. アプリを管理 します。

    アプリをインストールし、構成した後、コンシューマーは追加のタスクを実行して、アプリの使用とモニターを行うことができます。