将 Streamlit in Snowflake 应用程序与 Git 存储库同步¶
要将版本控制与 Streamlit 应用程序搭配使用,您可以将应用程序与 Git 存储库中的分支同步。
您必须已经设置了 Snowflake 账户以连接到 Git 存储库,并且已在该存储库中创建了一个要用于应用程序的分支。请参阅 设置 Snowflake 以使用 Git。
备注
对于使用旧版 ROOT_LOCATION 参数 创建的 Streamlit 应用程序,Git 集成不受支持。
从 Git 存储库中的文件创建 Streamlit in Snowflake 应用程序¶
登录 Snowsight。
选择 Projects » Streamlit。
在 + Streamlit 旁边,打开下拉菜单并选择 Create from repository。
对于 File location in repository,选择包含 Streamlit 应用程序文件的存储库和存储库中的分支,然后选择特定的
.py
文件。有关将 Snowflake 连接到 Git 存储库的详细信息,请参阅 设置 Snowflake 以使用 Git。对于 App location,选择一个数据库和架构来包含 Streamlit 应用程序。创建应用程序后,您无法更改这些内容。
对于 Query warehouse 和 App warehouse,请选择一个仓库。
选择 Create 以从 Git 存储库中的
.py
文件创建 Streamlit 应用程序。
将现有的 Streamlit in Snowflake 应用程序连接到 Git 存储库¶
备注
要将 Streamlit 应用程序连接到 Git 存储库,您必须使用至少具有以下权限的角色:
对 Git 存储库的 OWNERSHIP 或 READ 权限
对包含 Git 存储库的架构的 USAGE 权限
登录 Snowsight。
选择 Projects » Streamlit,然后打开或创建一个 Streamlit 应用程序。
在数据库对象资源管理器旁边的 Files 选项卡中,选择 Connect Git Repository。
对于 File location in repository,选择您想要将 Streamlit 应用程序与之同步的存储库和存储库中的分支。
选择 Select Folder。
当出现将应用程序提交到 Git 存储库的提示时,请完成 将更改推送到 Git 存储库中的分支 中概述的提交步骤。
将 Streamlit 应用程序连接到 Git 存储库后,您可以选择分支名称并在 Snowflake 或 Github 中打开存储库详细信息。
将更改推送到 Git 存储库中的分支¶
如果 Streamlit 应用程序连接到 Git 存储库中的分支,则在对应用程序进行更改后,您可以将更改推送到该分支。
备注
您必须使用对 Git 存储库具有 OWNERSHIP 或 WRITE 权限的角色推送更改。
登录 Snowsight。
选择 Projects » Streamlit,然后打开 Streamlit 应用程序。
对 Streamlit 应用程序进行任何相关更改。
选择 Push to Git。
在随即显示的 Push to Git 对话框中,您可以查看用于将更改提交到指定分支和存储库的用户名和电子邮件地址。如果需要更新用户名和电子邮件地址,请展开 Credentials 部分并更新 Author name 和 Author email。
对于 Commit message,输入要包含在提交中的消息。
展开 Credentials 部分来配置凭据。在 Personal access token 字段中输入 Git 存储库的个人访问令牌。此访问令牌来自远程 Git 提供商,例如 GitHub。
需要此令牌才能向 Git 存储库进行身份验证。
此令牌必须具有对存储库内容的读写权限,才能使提交生效。
一旦输入,即会保存此令牌供日后提交。您可以在日后的任何提交期间更新它。
选择 Push。
确认消息表明更改已成功推送到分支。
将 Streamlit in Snowflake 应用程序与 Git 存储库中的远程分支同步¶
将应用程序连接到 Git 存储库中的分支后,您可以将远程分支中的所有更改与 Streamlit 应用程序同步。
要将 Streamlit 应用程序与 Git 存储库中的远程分支同步,请执行以下操作:
登录 Snowsight。
选择 Projects » Streamlit,然后打开或创建一个 Streamlit 应用程序。
在数据库对象资源管理器的 Files 选项卡中,选择 Pull。
Snowflake 会提取远程存储库分支上存在的所有更改,并将这些内容与这些更改合并。
合并冲突¶
Snowflake 会尝试解决同步期间发生的合并冲突。如果存在 Snowflake 无法解决的合并冲突,您将收到一条消息,要求您放弃更改或将其提交到新分支。当它们提交到新分支时,使用 Git 提供商将更改从新分支手动合并到原始分支。然后,您应该将最新的更新拉取到 Streamlit 应用程序中。