❄️

SnowflakeCLIを利用したStreamlitアプリのデプロイ【Streamlit in Snowflake】

2024/08/24に公開

はじめに

この記事では、SnowflakeCLIを利用してローカルファイルにあるStreamlitアプリをSnowflakeへデプロイする手順をまとめます。

1.SnowflakeCLIのインストール

まずは下記コマンドでSnowflakeCLIをインストールします。

$ pip install snowflake-cli-labs

https://github.com/Snowflake-Labs/snowcli

2.Snowflake接続の作成

次にSnowflake接続設定を作成します。

$ snow connection add
# 表示されたプロンプトに沿って入力
Name for this connection: 任意の名前
Snowflake account name: Snowflakeアカウント名
Snowflake username: ユーザー名
Snowflake password [optional]:
Role for the connection [optional]:
Warehouse for the connection [optional]:
Database for the connection [optional]:
Schema for the connection [optional]:
Connection host [optional]:
Connection port [optional]:
Snowflake region [optional]:

3.接続テスト

以下のコマンドでSnowflakeへの接続テストができます。

$ snow connection test --connection "2で作成した接続名"
OK

4.Streamlit Appの作成

今回はサンプルとして以下のStreamlit Appを作成し、Snowflakeへデプロイしてみます。

main.py
import streamlit as st
st.title('Streamlit in Snowflake')
st.subheader('Hello World!!!')


ローカル上の起動画面

5.Snowflakeへデプロイ!

下記のコマンドでSnowflakeへデプロイします。

$ snow streamlit deploy study_app --file=main.py --query-warehouse=<warehouse> --database=<database> --schema=<schema> --role=<role>
Streamlit successfully deployed and available under https://app.snowflake.com/xxx/#/streamlit-apps/xxx.xxx.STUDY_APP


Streamlit in Snowflakeの画面

おわりに

Streamlit in SnowflakeはWeb画面で素早く開発できるものの、やはり慣れ親しんだエディタで開発したいという方も多いのではないでしょうか。
そういった方はSnowflakeCLIを使いデプロイ部分を自動化することで、より効率的に開発が進められそうです!

Discussion