Snowflake Marketplaceへのアプリ申請のガイドライン

このトピックでは、Snowflake Marketplaceに Snowflake Native App を申請する基準について説明します。

Snowflake Native App申請を準備する

アプリケーションパッケージを Snowflake Marketplace で公開する準備ができたら、Snowflakeに申請して承認を得る必要があります。

注釈

Snowflake Marketplace でアプリを公開するために必要な承認プロセスは、アプリケーションパッケージの DISTRIBUTION プロパティが EXTERNAL に設定されたときに実行される 自動セキュリティスキャン とは異なります。

リストを作成する前に、 適用要件 を理解していることを確認し、アプリケーションパッケージが各要件に従っていることを確認してください。アプリケーションパッケージがこれらの要件に従っていない場合は、申請が却下される可能性があります。

申請したアプリケーションパッケージについて却下通知を受け取った場合は、推奨される変更を行い、承認を得るためにアプリケーションパッケージを再提出してください。

適用要件

以下の要件は、 Snowflake Marketplace で公開するための承認用にアプリケーションパッケージを提出する際に確認されます。

  • Snowflake Native App が必要とするアカウントレベルの権限と参照はすべて、アプリケーションパッケージの マニフェストファイル にリストされている必要があります。

  • リストにマニフェストファイルの security セクションにアカウントレベルの権限または参照が含まれ、アプリケーションパッケージにStreamlitアプリが含まれている場合は、 Python Permission SDK を使用して権限と参照をコンシューマーにリクエストするユーザーインターフェイスを作成する必要があります。

  • アプリケーションパッケージがアプリのユーザーインターフェイスとしてStreamlitアプリを提供しない場合、アプリケーションパッケージの readme ファイルには以下の情報を含める必要があります。

    • アプリが何をするのかの説明。

    • アプリがインストールされた後、コンシューマーがアプリを構成するために実行する必要のあるステップ。

    • アプリが使用するストアドプロシージャとユーザー定義関数。

    • アプリが必要とする権限。

    • コンシューマーにアプリの使用方法を示す SQL コマンドの例。

  • readme ファイルに SQL ステートメントやコード例が含まれている場合は、コードブロックを使用する必要があります。

  • 可能であれば、複数のStreamlitアプリを別々に使用するのではなく、複数ページの単一Streamlitアプリを使用します。これには、マルチユーザーのStreamlitアプリなどが含まれます。

  • アプリがサンプルデータを提供する場合、必要に応じてデータベースを作成するために必要なコードを含め、サンプルデータの使用方法に関する手順を含める必要があります。

Snowflake Native App 公開時のベストプラクティス

Snowflakeは、 Snowflake Marketplace にアプリケーションパッケージを申請する際の要件に加えて、 Snowflake Native App を公開する際のベストプラクティスとして以下を推奨しています。

  • 申請するアプリのバージョンに応じて、必要なすべてのファイルが指定されたステージにアップロードされていることを確認してください。

    • manifest.yml ファイル

    • セットアップスクリプト。

    • readme.md ファイル

    • アプリケーションパッケージに必要な外部ストアドプロシージャまたはユーザー定義関数。

    • アプリケーションパッケージに必要なStreamlitファイル。

    • Python、Javaなどの外部ソースコード。

  • 開発中のアプリのバージョンが 自動セキュリティスキャン に合格していることを確認してください。

  • CREATE APPLICATION コマンドを使用してアプリケーションオブジェクトをローカルに作成し、アプリケーションパッケージの新しいバージョンをテストします。

    • アプリの開発中やテスト中は、アプリケーションパッケージに新しいバージョンを追加したり、 DISTRIBUTION プロパティを EXTERNAL に設定したりしないでください。こうしたアクションは、 自動セキュリティスキャン のトリガーするため、開発サイクルが遅れます。

      代わりに、 名前付きステージでファイル を使用してアプリケーションオブジェクトを作成します。

    • アプリにStreamlitアプリが含まれている場合は、 Snowsight でアプリケーションをテストし、Streamlitアプリが期待どおりに動作することを確認してください。

    • StreamlitアプリとSnowflakeワークシート間のインタラクションがシームレスであり、コンシューマーが両者間を過度に移動する必要がないことを確認します。

  • 承認のために申請する前に、リストのすべての部分を確認します。

  • リスト、 readme ファイル、Streamlitアプリに誤字やその他のテキストエラーがないことを確認してください。