示例:构建个性化数据仪表板¶
本示例将引导您构建一个 Streamlit in Snowflake 应用程序,该程序可查询 Snowflake 数据、添加第三方图表库,并为每个查看者实现个性化显示。最后,您将了解核心开发周期:创建、部署、编辑和重新部署。
该应用程序使用容器运行时。在开始之前,请确保您已完成 先决条件。
设置示例数据¶
本示例使用名为 dashboard_demo 的数据库。您可以替换为任何有权访问的数据库和架构,只需更新 SQL 和应用程序代码中的引用以保持一致即可。
创建一个包含示例收入数据的表。在工作表或 SQL 会话中运行以下 SQL:
编写应用程序代码¶
在本地计算机上,在您选择的项目目录中,创建一个名为 streamlit_app.py 的文件并包含以下代码。如果您计划使用 Snowsight,您可以在创建应用程序后将此代码粘贴到编辑器中。
此应用程序使用:
使用
conn.query()从 Snowflake 查询数据。结果会自动缓存,因此在缓存过期前,查询仅运行一次。有关更多信息,请参阅 管理密钥并配置 Streamlit 应用程序。使用
st.user.user_name向当前查看者打招呼。有关更多信息,请参阅 使用用户信息个性化您的 Streamlit 应用程序。使用
plotly实现交互式图表,这是您在下一步中声明的外部依赖项。
声明依赖关系¶
容器运行时会安装 requirements.txt 文件中列出的包。在您的 streamlit_app.py 旁边创建一个 requirements.txt 文件:
应用程序启动时,容器运行时会自动安装声明的包。对于更复杂的依赖关系场景,可以改用 pyproject.toml 文件。有关更多信息,请参阅 管理 Streamlit 应用程序的依赖项。
部署应用程序¶
登录 Snowsight。
在导航菜单中,选择 Projects » Streamlit。
选择 + Streamlit App。
输入
revenue_dashboard作为应用程序名称。选择数据库和架构。
选择 Run on container,然后选择一个计算池和查询仓库。
选择 Create。
在编辑器中,将起始代码替换为上面的应用程序代码。
通过选择 + (Add) » Create new file,输入
requirements.txt并粘贴内容,来上传或创建requirements.txt文件。选择 Run。
暂存应用程序文件:
创建 Streamlit 应用程序:
要查看应用程序,请登录 Snowsight,在导航菜单中选择 Projects » Streamlit,然后选择您的应用程序。
备注
需要 Snowflake CLI 3.14.0 或更高版本。3.14+ 版本默认使用现代 CREATE STREAMLIT 语法。
创建具有以下结构的项目目录:
创建
snowflake.yml文件:部署应用程序:
进行更改¶
尝试编辑您的应用程序以查看开发周期的实际运行情况。通过在 streamlit_app.py 中的 filtered = ... 行和 fig = px.bar(...) 行之间插入以下两行来添加摘要指标:
如果您在浏览器中进行编辑,请将这些行粘贴到编辑器中并选择 Run。
暂存更新的文件,然后将其复制到应用程序的实时版本位置:
在本地保存文件并重新部署:
有关编辑工作流的更多信息,请参阅 编辑 Streamlit 应用程序。
清理¶
要移除此示例中创建的资源,请运行以下 SQL:
下一步是什么?¶
示例:构建写入 Snowflake 的表单:选择使用 时默认使用的角色和仓库。构建一个带有可将数据写回 Snowflake 的表单的应用程序。
使用用户信息个性化您的 Streamlit 应用程序:选择使用 时默认使用的角色和仓库。详细了解如何使用
st.user个性化您的应用程序。Streamlit in Snowflake 中的外部网络访问:选择使用 时默认使用的角色和仓库。将您的应用程序连接到外部 APIs。