Streamlit in Snowflake:为 Streamlit in Snowflake 应用程序启用 Git 集成和多文件编辑¶
Streamlit in Snowflake 应用程序的行为如下:
- 此变更之前:
Snowsight 不支持 Streamlit in Snowflake 应用程序的 Git 集成和多文件编辑。
- 此变更之后:
新的 Streamlit in Snowflake 应用程序支持 Git 集成和多文件编辑,并包括以下方面的变更:
-
支持将 Streamlit in Snowflake 应用程序连接到 Git 存储库。
支持从 Git 存储库创建 Streamlit in Snowflake 应用程序。
支持在 Snowsight 中编辑多个文件。
备注
使用 ROOT_LOCATION 的现有 Streamlit in Snowflake 应用程序可照常运行,但不支持 Git 集成和多文件编辑。
-
Snowsight¶
从 Git 存储库中的文件创建 Streamlit in Snowflake 应用程序¶
要从 Git 存储卡中的文件创建 Streamlit 应用程序,请执行以下操作:
登录 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 存储库,请执行以下操作:
登录 Snowsight。
选择 Projects » Streamlit,然后打开或创建一个 Streamlit 应用程序。
在数据库对象资源管理器旁边的 Files 选项卡中,选择 Connect Git Repository。
对于 File location in repository,选择您想要将 Streamlit 应用程序与之同步的存储库和存储库中的分支。
选择 Select Folder。
当提示提交应用程序并将其推送到 Git 存储库时,请选择 Push to Git。
在 Snowsight 中编辑多个文件¶
要在 Snowsight 中编辑 Streamlit in Snowflake 应用程序的多个文件:
登录 Snowsight。
选择 Projects » Streamlit,然后打开或创建一个 Streamlit 应用程序。
在 Files 选项卡中,选择要编辑的文件。
CREATE STREAMLIT 和 ALTER STREAMLIT 命令的变更¶
启用此行为变更捆绑包后,CREATE STREAMLIT 和 ALTER STREAMLIT 命令将引入以下变更。
CREATE STREAMLIT¶
Streamlit 应用程序的代码不再需要单独的暂存区对象;Streamlit 对象存储应用程序代码。使用 FROM 子句,您可以指明将代码从哪个现有位置复制到 Streamlit 应用程序。
语法¶
CREATE [ OR REPLACE ] STREAMLIT [ IF NOT EXISTS ] <name>
[ { VERSION <version_alias_name> |
VERSION (COMMENT = <version_comment>) |
VERSION <version_alias_name> (COMMENT = <version_comment>) } ]
[ FROM <source_location>]
MAIN_FILE = '<path_to_main_file_in_root_directory>'
QUERY_WAREHOUSE = <warehouse_name>
[ COMMENT = <create_comment> ]
[ DEFAULT_VERSION = <default_version_name_or_alias> ]
[ TITLE = '<app_title>' ]
[ IMPORTS = ( '<stage_path_and_file_name_to_read>' [ , ... ] ) ]
[ EXTERNAL_ACCESS_INTEGRATIONS = ( <integration_name> [ , ... ] ) ]
必填参数¶
name
Streamlit 应用程序的名称。
path_to_main_file_in_root_directory
指定 Streamlit 应用程序的文件名。此文件名与
ROOT_LOCATION
的值相关。warehouse_name
指定运行由 Streamlit 应用程序发出的 SQL 查询的仓库。
可选参数¶
version_alias_name
用户指定的版本别名。
version_comment
用户为该版本提供的注释。
source_location
复制源文件的源位置。
create_comment
指定 Streamlit 对象的注释。默认情况下没有值。
default_version_name_or_alias
使用的默认版本名称。
app_title
为 Streamlit 应用程序指定要在 Snowsight 中显示的标题。
stage_path_and_file_name_to_read
要导入的文件的位置(暂存区)、路径和名称。
integration_name
Streamlit 应用程序代码访问外部网络所需的外部访问集成名称名称。
示例¶
要从暂存区创建 Streamlit 应用程序,请运行 CREATE STREAMLIT 命令,如下例所示:
CREATE STREAMLIT app
FROM @streamlit_db.streamlit_schema.streamlit_stage;
MAIN_FILE = 'streamlit_app.py'
QUERY_WAREHOUSE = my_warehouse;
要从 Git 存储库创建 Streamlit 应用程序,请运行 CREATE STREAMLIT 命令,如下例所示:
CREATE STREAMLIT app
FROM @streamlit_db.streamlit_schema.streamlit_repo/branches/streamlit_branch/;
MAIN_FILE = 'streamlit_app.py'
QUERY_WAREHOUSE = my_warehouse;
ALTER STREAMLIT¶
启用此行为变更捆绑包后,ALTER STREAMLIT 命令将更新为包括以下内容:
语法¶
ALTER STREAMLIT <name> ADD VERSION [ [ IF NOT EXISTS] <version_alias_name> ]
FROM <source_location>
[ COMMENT = <add_version_comment> ]
ALTER STREAMLIT <name> ADD VERSION <version_name>
FROM { <snowgit_tag_uri> | <snowgit_commit_uri> }
[ COMMENT = <git_pull_comment> ]
ALTER STREAMLIT <name> ADD LIVE VERSION [ [IF NOT EXISTS] <version_alias_name> ]
[ FROM LAST ]
[ COMMENT = <add_version_comment> ]
ALTER STREAMLIT <name> VERSION <existing_version_name_or_alias>
SET ALIAS = <new_version_name_alias>
ALTER STREAMLIT <name> COMMIT [ VERSION <live_version_alias> ] [COMMENT = <version_comment>]
ALTER STREAMLIT <name> SET DEFAULT_VERSION = <version_name> | <version_name_alias>
ALTER STREAMLIT <name> PUSH [TO <git_branch_uri>] [ { GIT_CREDENTIALS = <snowflake_secret> | USERNAME = <git_username> password = <git_password> } NAME = <git_author_name> EMAIL = <git_author_email> ] [ COMMENT = <git_push_comment>]
ALTER STREAMLIT <name> ABORT [ VERSION <live_version_alias> ]
ALTER STREAMLIT <name> PULL
参数¶
name
Streamlit 应用程序的名称。
version_alias_name
用户指定的版本别名。
source_location
复制源文件的源位置。需要 OWNERSHIP 权限。
ALTER STREAMLIT name PUSH
如果未指定``git_branch_uri``,则使用基础版本中存储的分支将最新提交的变更推送到 Git 存储库。
如果基础版本不是基于 Git 分支,则会导致出错。需要 OWNERSHIP 权限。
git-branch-uri
推送已提交变更的目标分支。
git_author_name
要使用的 git 作者名称。
git_author_email
用作 git 作者名称的有效电子邮件地址。
git_push_comment
用户指定的注释,包含在 git 推送中。
ALTER STREAMLIT name ABORT
移除现有版本并删除其文件。如果没有指定版本,则默认删除 live_version。需要 OWNERSHIP 权限。
ALTER STREAMLIT name PULL
将源中的最新变更提取到 Streamlit 的实时版本中。需要 OWNERSHIP 权限。
DESCRIBE STREAMLIT 输出中的新列¶
启用此行为变更捆绑包后,DESCRIBE STREAMLIT 命令的输出包括以下新列:
列名称 |
描述 |
---|---|
default_version |
以备将来使用。 |
default_version_name |
以备将来使用。 |
default_version_alias |
以备将来使用。 |
default_version_location_uri |
以备将来使用。 |
default_version_source_location_uri |
以备将来使用。 |
default_version_git_commit_hash |
以备将来使用。 |
live_version |
字符串。指定此应用程序的实时版本。 |
live_version_name |
字符串。此应用程序实时版本的名称。 |
live_version_alias |
字符串。此应用程序实时版本的别名。 |
live_version_location_uri |
字符串。实时版本文件的存储位置的 URI。 |
live_version_source_location_uri |
字符串。指定复制 live_version 的源位置 URI。如果未克隆该 Streamlit,则为空。 |
live_version_git_commit_hash |
字符串。live_version 指向的 git 提交的十六进制哈希。如果未连接 Git 存储库,则为空。 |
参考:1888