Slide 1

Slide 1 text

preencoded.png Streamlit in Snowflakeをざっくりと復習 2025年5月21日 第5回 Snowflake WEST ユーザー会 Tatsuya Koreeda

Slide 2

Slide 2 text

preencoded.png

Slide 3

Slide 3 text

preencoded.png Streamlit in Snowflakeとは Streamlit in Snowflakeは、データ可視化や機械学習モデルの デモなどに用いられるPython製のオープンソースWebアプリ フレームワークであるStreamlitを、Snowflakeプラットフォー ム上で直接実行・共有できるように統合した機能です。 2022年にSnowflake社がStreamlit社を買収したことで誕生し 、2023年末から2024年にかけて本格的に一般提供が開始され ました。 https://docs.snowflake.com/en/developer-guide/streamlit/about-streamlit

Slide 4

Slide 4 text

preencoded.png Demo preencoded.png

Slide 5

Slide 5 text

preencoded.png Streamlit in Snowflakeの良さ Snowflake管理のインフラ StreamlitアプリはSnowflakeのクラウドインフラ上で実行され、サーバーやコンテナのセットアップや管理は Snowflakeが完全自動化 データセキュリティの徹底 データを外部にエクスポートせずに、Snowflakeの内部で直接Streamlitアプリを動かすことでデータ漏洩リスクを大 幅に削減 厳密な権限管理(RBAC) Snowflakeのロールベースアクセス制御(RBAC)によって、ユーザーごとのアクセス権限が細かく設定され、セキュ アな利用環境を実現

Slide 6

Slide 6 text

preencoded.png エンタープライズ向け機能 外部ネットワークアクセス制御 許可リスト方式でAPI連携を安全に管理し、外部からの不要 なアクセスを防止します。アクセス許可は細かく設定でき るため、業務に必要な範囲に限定可能です。 プライベート接続 PrivateLink対応により、インターネットを経由しない閉域 ネットワーク構成を実現。これにより、通信の安全性が向 上し、企業内の機密データを守ります。 監査ログ・トレース 利用状況を詳細に可視化し、ユーザーの操作履歴やデータ アクセスをリアルタイムで追跡可能。これにより、コンプ ライアンス対応や問題発生時の調査が容易になります。 セキュリティと権限管理 行レベルセキュリティ対応で、役割に応じた詳細なアクセ ス制御を可能にし、データの機密性を保ちます。Snowflake のRBACと連携し、高度な権限管理を実現しています。

Slide 7

Slide 7 text

preencoded.png 主要アップデート 主要クラウドプラットフォームで一般提供開始 AWS、Azure、Google Cloud Platformで正式リリースされ、グローバル展開と柔軟なクラウド統合が可能に Streamlitライブラリのバージョン1.44対応 最新機能を取り入れ、パフォーマンスの最適化と新UIコンポーネントの追加を実現 マルチページアプリのサポート強化 複数ファイルの編集が可能になり、大規模アプリケーションの開発・管理が容易に カスタムUIデザインの自由度向上 HTML/CSSによる細かなデザイン調整が可能となり、ブランドイメージに合わせたUI開発が可能に preencoded.png

Slide 8

Slide 8 text

preencoded.png 2025年の新機能 • 入力ウィジェット拡充 • ファイルアップロードやカメラ・マイクからの直接入力に対応し、リアルタイムデータ収集が可能に • multi-page Streamlit アプリケーションとGit連携機能 • マルチページ対応とGitリポジトリとの連携により開発機能を強化。 • Google CloudのPrivate Service ConnectによるSnowflakeアクセスがプライベートプレビュー • GCPプライベート接続対応し、安全なプライベートネットワーク経由でのSnowflakeアクセスを提供。Azure Private LinkとAWS PrivateLinkはGA済み

Slide 9

Slide 9 text

preencoded.png st.file_uploaderのサポート 2025/3/12 に Streamlit in Snowflake の st.file_uploader が GA となりました! ファイルアップロード ファイルダウンロード 菅野 翼 (Tsubasa Kanno)様: Streamlit in Snowflake でファイルのアップロードとダウンロードをしよう より引用

Slide 10

Slide 10 text

preencoded.png マルチページ Streamlit アプリケーション 左サイドバーからstreamlitのページをまとめることが可能に にし様: Streamlit in SnowflakeでマルチページのアプリをGUIからアップロードする方法 より引用

Slide 11

Slide 11 text

preencoded.png Cortex Analyst ~ Text to SQL 自然言語で入力された質問を自動的にSQLに変換して、データを抽出する RAKUDEJI株式会社 Cortex Analyst ~ Text to SQLのビジネス利用について ~ より引用

Slide 12

Slide 12 text

preencoded.png Streamlit in Snowflake: ロギングとトレーシング • アプリの動作状況を詳細に監視し、問題の早期発見と解決を支援 • Snowflakeドキュメントで効率的なログ収集設定やパフォーマンス解析を解説 • Streamlit内のイベントログ取得、エラートレース収集、監査ログ連携を推奨

Slide 13

Slide 13 text

preencoded.png Streamlitアプリのカスタムスリープタイマー Streamlitアプリを自動的に一時停止するためのカスタムスリープタイマーを設定できます。 タイマーの設定 例えば、Streamlitアプリを8分後に自動的に一時停止させる場合は、config.tomlファイルに次のコードを追加します : [snowflake] [snowflake.sleep] streamlitSleepTimeoutMinutes = 8 • streamlitSleepTimeoutMinutes は、5分から240分の間で任意の値を設定できます。 • 構成ファイルを作成しない場合、デフォルトの自動一時停止時間は15分になります。

Slide 14

Slide 14 text

preencoded.png 学習コンテンツ Streamlit入門 Pythonで学ぶデータ可視化&アプリ開発ガイド (技術の 泉シリーズ) Snowflake Squadメンバーの山口歩夢さんの著書 25days of Streamlit 30 Days of Streamlitの日本語アップデート版として、25日間でStreamlitによるデータアプリの開発を習得できるチュートリアルを作ろ う!というコミュニティ企画。Streamlit Playground というブラウザだけでStreamlitをコーディング・実行できる環境を利用しているた め、環境構築なしに気軽に始めることができます!S

Slide 15

Slide 15 text

preencoded.png SnowVillageの#streamit チャンネル #streamlit チャンネルとは、Streamlitを業務で活用して いる人からちょっと興味のある人まで、様々な人たちが集 まる場所のことです。おそらくSnowVillageのSlackで一番 活発にチャンネルが動いています 活動日 Streamlit 勉強会(土曜 AM 9時~11時) Streamlit 夜会(火曜 19時~21時)