Streamlit in Snowflake:为 Streamlit in Snowflake 应用程序启用 Git 集成和多文件编辑

注意

此行为变更在 2025_01 捆绑包中。

有关捆绑包的当前状态,请参阅 捆绑包历史记录

Streamlit in Snowflake 应用程序的行为如下:

此变更之前:

Snowsight 不支持 Streamlit in Snowflake 应用程序的 Git 集成和多文件编辑。

此变更之后:

新的 Streamlit in Snowflake 应用程序支持 Git 集成和多文件编辑,并包括以下方面的变更:

备注

使用 ROOT_LOCATION 的现有 Streamlit in Snowflake 应用程序可照常运行,但不支持 Git 集成和多文件编辑。

Snowsight

从 Git 存储库中的文件创建 Streamlit in Snowflake 应用程序

要从 Git 存储卡中的文件创建 Streamlit 应用程序,请执行以下操作:

  1. 登录 Snowsight

  2. 选择 Projects » Streamlit

  3. + Streamlit 旁边,打开下拉菜单并选择 Create from repository

  4. 对于 File location in repository,选择包含 Streamlit 应用程序文件的存储库和存储库中的分支,然后选择特定的 .py 文件。有关将 Snowflake 连接到 Git 存储库的详细信息,请参阅 设置 Snowflake 以使用 Git

  5. 对于 App location,选择一个数据库和架构来包含 Streamlit 应用程序。创建应用程序后,这些内容便无法更改。

  6. 对于 Query warehouseApp warehouse,请选择一个仓库。

  7. 选择 Create 以从 Git 存储库中的 .py 文件创建 Streamlit 应用程序。

连接 Streamlit in Snowflake 应用程序与 Git 存储库

要将现有的 Streamlit 应用程序连接到 Git 存储库,请执行以下操作:

  1. 登录 Snowsight

  2. 选择 Projects » Streamlit,然后打开或创建一个 Streamlit 应用程序。

  3. 在数据库对象资源管理器旁边的 Files 选项卡中,选择 Connect Git Repository

  4. 对于 File location in repository,选择您想要将 Streamlit 应用程序与之同步的存储库和存储库中的分支。

  5. 选择 Select Folder

  6. 当提示提交应用程序并将其推送到 Git 存储库时,请选择 Push to Git

在 Snowsight 中编辑多个文件

要在 Snowsight 中编辑 Streamlit in Snowflake 应用程序的多个文件:

  1. 登录 Snowsight

  2. 选择 Projects » Streamlit,然后打开或创建一个 Streamlit 应用程序。

  3. Files 选项卡中,选择要编辑的文件。

CREATE STREAMLIT 和 ALTER STREAMLIT 命令的变更

启用此行为变更捆绑包后,CREATE STREAMLITALTER 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> [ , ... ] ) ]
Copy
必填参数
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;
Copy

要从 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;
Copy

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
Copy

参数

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

语言: 中文