创建 Streamlit 应用程序¶
本主题介绍如何从现有的 Streamlit 应用程序代码部署 Streamlit in Snowflake 应用程序。如果您是 Streamlit in Snowflake 新用户,并想先尝试入门应用程序,请参阅 开始使用 Streamlit in Snowflake。
准备工作:
确保满足所需的 先决条件。
选择适用于您的应用程序的 :doc:`运行时环境 <runtime-environments>`(容器或仓库)。
在
requirements.txt、pyproject.toml或environment.yml文件中准备您的 依赖项。查看应用程序源文件的预期 文件组织。
部署应用程序代码¶
如果您的本地计算机或 Snowflake 暂存区上已有 Streamlit 应用程序,请使用以下方法之一创建源文件中的 STREAMLIT 对象。
登录 Snowsight。
在导航菜单中,选择 Projects » Streamlit。
选择 + Streamlit App。
输入应用程序的名称。
在 App location 下拉列表中,选择应用程序的数据库和架构。
为应用程序配置运行时:
要创建容器运行时应用程序,请进行以下选择:
选择 Run on container。
选择要在其中运行应用程序的计算池。
选择要在其中运行应用程序查询的查询仓库。
要创建仓库运行时应用程序,请进行以下选择:
选择 Run on warehouse。
选择要在其中运行应用程序的仓库。
选择 Create。
在编辑器中,将起始代码替换为您自己的应用程序代码。您可以直接粘贴代码或上传文件:
要上传文件,请选择 + (Add) » Upload file,选择文件,然后选择 Upload。
要创建其他文件(例如
pyproject.toml),请选择 + (Add) »Create new file。
选择 Run。
将应用程序文件上传到命名暂存区:
您还可以通过 Snowsight 上传文件,如 使用 Snowsight 暂存文件 中所述。
从暂存文件中创建 STREAMLIT 对象:
要创建容器运行时应用程序,请运行以下命令:
要创建仓库运行时应用程序,请省略 RUNTIME_NAME 和 COMPUTE_POOL 参数:
将代码推送到实时版本:
您必须在仅具有 USAGE 权限的用户可以查看 Streamlit 对象之前运行此命令。
有关完整的参数参考,请参阅 CREATE STREAMLIT。
备注
需要 Snowflake CLI 3.14.0 或更高版本。3.14+ 版本默认使用现代 CREATE STREAMLIT 语法。
在项目目录中,在应用程序代码旁创建
snowflake.yml文件。要创建容器运行时应用程序,请使用以下配置:
要创建仓库运行时应用程序,请省略
compute_pool和runtime_name:列出
artifacts部分的应用程序需要的所有文件。部署应用程序:
有关更多详细信息,请参阅 创建 Streamlit 应用程序 和 部署 Streamlit 应用程序 指南。
查看 Streamlit 应用程序¶
有关查看 Streamlit 应用程序所需的权限的信息,请参阅 查看 Streamlit 应用程序所需的权限。
使用 GitHub 操作设置 CI/CD¶
您可以使用 Snowflake CLI 和 `GitHub 操作<https://docs.github.com/en/actions>`_ 自动从 Git 存储库中部署 Streamlit in Snowflake 应用程序。您可以对其他 CI/CD 提供商使用类似的方法。
先决条件¶
GitHub 存储库包含 Streamlit 应用程序文件以及
snowflake.yml。在
SNOWCLI_PW仓库设置中配置的 GitHub 密钥。
示例工作流程¶
在存储库中创建 .github/workflows/deploy.yml 文件:
提交并推送文件以触发工作流程。
有关更多信息,请参阅 GitHub Actions 文档 (https://docs.github.com/en/actions)。