Streamlitアプリの作成¶
このトピックでは、既存のStreamlitアプリのコードから|sis|アプリをデプロイする方法について説明します。|sis|の利用が初めてで、まずスターターアプリを試してみたい場合は、:doc:`/developer-guide/streamlit/getting-started/overview`を参照してください。
始める前に:
必要な:ref:`前提条件<label-streamlit_prereqs>`を満たしていることを確認します。
アプリの:doc:`ランタイム環境<runtime-environments>`(コンテナまたはウェアハウス)を選択します。
requirements.txt、pyproject.toml、または:file:`environment.yml`ファイルで:doc:`依存関係<dependency-management>`を準備します。アプリのソースファイルについて想定される:doc:`ファイル構成<file-organization>`を確認します。
アプリコードのデプロイ¶
ローカルマシン上またはSnowflakeステージ上にすでにStreamlitアプリがある場合は、次のいずれかの方法を使用して、ソースファイルからSTREAMLITオブジェクトを作成します。
Snowsight にサインインします。
ナビゲーションメニューで Projects » Streamlit を選択します。
+ Streamlit App を選択します。
アプリの名前を入力します。
App location ドロップダウンで、アプリのデータベースとスキーマを選択します。
アプリのランタイムを構成します。
コンテナランタイムアプリを作成するには、以下のように選択します。
Run on container を選択します。
アプリを実行するコンピューティングプールを選択します。
アプリのクエリを実行するクエリウェアハウスを選択します。
ウェアハウスランタイムアプリを作成するには、以下のように選択します。
Run on warehouse を選択します。
アプリを実行するウェアハウスを選択します。
Create を選択します。
エディターで、スターターコードを独自のアプリコードに置き換えます。コードを直接貼り付けるか、ファイルをアップロードできます。
Run を選択します。
アプリファイルを名前付きステージにアップロードします。
:doc:`/user-guide/data-load-local-file-system-stage-ui`で説明されているように、|sf-web-interface|を使用してファイルをアップロードすることもできます。
ステージングされたファイルからSTREAMLITオブジェクトを作成します。
コンテナランタイムアプリを作成するには、次のコマンドを実行します。
ウェアハウスランタイムアプリを作成するには、RUNTIME_NAMEおよびCOMPUTE_POOLパラメーターを省略します。
コードをライブバージョンにプッシュします。
StreamlitオブジェクトのUSAGE権限のみを持つユーザーに対して表示されるようにするには、このコマンドを実行する必要があります。
パラメーターの完全な参照情報については、:doc:`/sql-reference/sql/create-streamlit`を参照してください。
注釈
Snowflake CLI バージョン3.14.0以降が必要です。バージョン3.14以降は、デフォルトで最新の CREATESTREAMLIT 構文を使用します。
プロジェクトディレクトリで、アプリコードと同じ場所に:file:`snowflake.yml`ファイルを作成します。
コンテナランタイムアプリを作成するには、次の構成を使用します。
ウェアハウスランタイムアプリを作成するには、``compute_pool``および``runtime_name``を省略します。
アプリに必要なすべてのファイルを``artifacts``セクションにリストします。
アプリをデプロイします。
詳細については、/developer-guide/snowflake-cli/streamlit-apps/manage-apps/initialize-app`および:doc:/developer-guide/snowflake-cli/streamlit-apps/manage-apps/deploy-app`のガイドを参照してください。
Streamlitアプリを表示する¶
Streamlitアプリの表示に必要な権限については、 Streamlitアプリの表示に必要な権限 を参照してください。
Snowsight にサインインします。
ナビゲーションメニューで Projects » Streamlit を選択します。
表示したいStreamlitアプリを選択します。
マルチページのStreamlitアプリを表示する場合は、タブを選択して追加ページを表示します。
STREAMLITオブジェクトに関する情報を表示するには、以下を実行します。
ブラウザでアプリを表示するには、|sf-web-interface-link|にサインインし、ナビゲーションメニューで:ui:`Projects` |raa| :ui:`Streamlit`を選択して、アプリを選択します。
デプロイされたアプリのURLを取得するには、以下を実行します。
GitHub Actionsを使用したCI/CDのセットアップ¶
|sf-cli|および`GitHub Actions<https://docs.github.com/en/actions>`_を使用して、Gitリポジトリから|sis|アプリを自動的にデプロイできます。他のCI/CDプロバイダーでも、同様のアプローチを使用できます。
前提条件¶
Streamlitアプリファイルと:file:`snowflake.yml`を含むGitHubリポジトリ。
GitHubリポジトリ設定で構成された``SNOWCLI_PW``シークレット。
ワークフロー例¶
リポジトリ内に:file:`.github/workflows/deploy.yml`ファイルを作成します。
ファイルをコミットおよびプッシュすると、ワークフローがトリガーされます。
詳細については、 GitHub Actions ドキュメンテーション をご参照ください。