Streamlitアプリの作成¶
前提条件¶
Snowflake CLI を使用してStreamlitアプリを作成する前に、次の前提条件を満たす必要があります。
Streamlitアプリの作成と使用に必要な権限 に記載されているように、アカウントに正しい権限があることを確認する。
Streamlitアプリのファイルをアップロードする名前付きステージを作成できるか、そのアクセス権があることを確認する。
Streamlitアプリをブートストラップする¶
snow init
コマンドを実行すると、Streamlitアプリの作成に役立つサンプルファイルの入ったローカルディレクトリが作成されます。このコマンドを実行すると、 Snowflake CLI は次のディレクトリ構造を作成します。
example_streamlit/ - project name (default: example_streamlit)
snowflake.yml - configuration for snow streamlit commands
environment.yml - additional config for Streamlit, for example installing packages
streamlit_app.py - entrypoint file of the app
pages/ - directory name for Streamlit pages (default pages)
common/ - example “shared library”
Streamlitアプリを初期化するには、次のコマンドを入力します:
snow init new_streamlit_project --template example_streamlit -D query_warehouse=dev_warehouse -D stage=testing
注意
プロジェクトディレクトリ内のファイルは Snowflake CLI によって処理され、他の snow streamlit
コマンドを実行するときにSnowflakeにアップロードされる可能性があります。プロジェクトディレクトリのファイル内に機密情報を保存する場合は、注意が必要です。
ファイル構造の詳細については、 ローカルファイルシステムでのStreamlitファイルの作成 をご参照ください。
Streamlitアプリのプロジェクト定義の作成¶
Snowflakeの各Streamlitアプリには、 snowflake.yml
プロジェクト定義ファイルを含める必要があります。Streamlitは、プロジェクト定義ファイルごとに1つのアプリケーションに制限されます。
snowflake.yml
プロジェクト定義ファイルのサンプルは次のとおりです。
definition_version: 2
entities:
my_streamlit:
type: streamlit
identifier: streamlit_app
stage: my_streamlit_stage
query_warehouse: my_streamlit_warehouse
main_file: streamlit_app.py
pages_dir: pages/
external_access_integrations:
- test_egress
secrets:
dummy_secret: "db.schema.dummy_secret"
imports:
- "@my_stage/foo.py"
artifacts:
- common/hello.py
- environment.yml
次の表は、Streamlitプロジェクト定義のプロパティについて説明しています。
プロパティ |
定義 |
---|---|
識別子 optional, string |
エンティティの任意のSnowflake識別子。この値には次のような形式があります。
|
タイプ optional, string |
|
コメント optional, string |
Streamlitダッシュボードにコメントします。 |
タイトル optional, string |
Streamlit ダッシュボードの人間が読めるタイトル。 |
ステージ optional, string |
アプリの成果物が保存されるステージ。デフォルト: なし。 |
query_warehouse required, string |
アプリをホストするSnowflakeウェアハウス。 |
main_file optional, string |
Streamlitアプリの エントリポイントファイル。デフォルト: 「streamlit_app.py」。 |
pages_dir optional, string |
Streamlit pages。デフォルト: 「pages」。 |
アーティファクト 必須、 文字列シーケンス |
デプロイメント成果物に含める必要がある追加ファイルのリスト。 |