ALTER STREAMLIT¶
修改现有 Streamlit 对象的属性。
语法¶
ALTER STREAMLIT [ IF EXISTS ] <name> SET
[ MAIN_FILE = '<filename>']
[ QUERY_WAREHOUSE = <warehouse_name> ]
[ COMMENT = '<string_literal>']
[ TITLE = '<app_title>' ]
[ IMPORTS = ( '<stage_path_and_file_name_to_read>' [ , ... ] ) ]
[ EXTERNAL_ACCESS_INTEGRATIONS = ( <integration_name> [ , ... ] ) ]
ALTER STREAMLIT [ IF EXISTS ] <name> RENAME TO <new_name>
ALTER STREAMLIT <name> COMMIT
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
ALTER STREAMLIT <name> PULL
ALTER STREAMLIT <name> ADD LIVE VERSION FROM LAST
For Streamlit objects created with ROOT_LOCATION, only the following syntax is supported:
重要
ROOT_LOCATION is a legacy parameter and may be deprecated in a future release. For Streamlit apps created using ROOT_LOCATION, multi-file editing and Git integration are not supported.
ALTER STREAMLIT [ IF EXISTS ] <name> SET
[ ROOT_LOCATION = '<stage_path_and_root_directory>' ]
[ MAIN_FILE = '<path_to_main_file>']
[ QUERY_WAREHOUSE = <warehouse_name> ]
[ COMMENT = '<string_literal>']
[ TITLE = '<app_title>' ]
[ IMPORTS = ( '<stage_path_and_file_name_to_read>' [ , ... ] ) ]
[ EXTERNAL_ACCESS_INTEGRATIONS = ( <integration_name> [ , ... ] ) ]
ALTER STREAMLIT [ IF EXISTS ] <name> RENAME TO <new_name>
参数¶
nameStreamlit 对象的标识符。如果标识符包含空格或特殊字符,则整个字符串必须放在双引号内。放在双引号内的标识符也区分大小写。
SET ...指定要为 Streamlit 对象设置的属性:
MAIN_FILE = 'filename'指定 Streamlit 入口点文件的文件名。该文件必须位于应用程序目录的根目录中并包含
.py扩展名。如果应用程序是使用 ROOT_LOCATION(而不是 FROM)创建的,则 MAIN_FILE 可以是相对于 ROOT_LOCATION 的路径。
QUERY_WAREHOUSE = warehouse_name指定仓库(Streamlit 应用程序发出的 SQL 查询在该仓库中运行)。
COMMENT = 'string_literal'为 Streamlit 对象添加注释或覆盖现有注释。
TITLE = 'app_title'为 Streamlit 应用程序添加要在 Snowsight 中显示的标题。
IMPORTS = ( 'stage_path_and_file_name_to_read' [ , ... ] )要导入的文件的位置(暂存区)、路径和名称。
EXTERNAL_ACCESS_INTEGRATIONS = ( integration_name [ , ... ] )Streamlit 应用代码为访问外部网络所需的 外部访问集成名称 名称。
ROOT_LOCATION = 'stage_path_and_root_directory'Specifies the root stage name and prefix containing the Streamlit Python files, media files, and
environment.ymlfile. This parameter must point to a single directory inside a named internal stage.
RENAME TO new_nameSpecifies the new identifier for the Streamlit object. The identifier must be unique for the schema where the object was created.
有关标识符的更多详细信息,请参阅 标识符要求。
COMMIT将 LIVE 版本中待处理的编辑提交到新的 LAST 版本。提交后,LIVE 版本会立即与 LAST 版本完全一致。
PUSH如果未指定:samp:
TO {git_branch_uri},则使用基础版本中存储的分支将最新提交的变更推送到 Git 存储库。If the base version is not based on a Git branch, this throws an error.
TO git_branch_uri将提交的更改推送到指定的分支。
GIT_CREDENTIALS = snowflake_secret指定 Snowflake 密钥,其中包含用于对存储库进行身份验证的凭据。
USERNAME = git_username指定 Git 用户名。
PASSWORD = git_password指定 Git 密码。
NAME = git_author_name指定要使用的 Git 作者名称。
EMAIL = git_author_email指定用作 Git 作者名的有效电子邮件地址。
COMMENT = git_push_comment指定要包含在 Git 推送中的注释。
ABORT移除应用程序的当前实时版本,包括 Snowsight 中所有尚未提交的编辑。
PULL拉取最新更改。必须先中止当前实时版本,然后才能拉取。
ADD LIVE VERSION FROM LAST根据上次提交的版本,创建应用程序的新实时版本。
当 Streamlit 应用程序的所有者在 Snowsight 中打开该应用程序且实时版本不存在时,会自动执行此命令。如果其他用户访问该应用程序且实时版本不存在,则会返回错误。
访问控制要求¶
您的角色必须对对象具有以下 权限:
权限 |
对象 |
|---|---|
OWNERSHIP |
您修改的 Streamlit 对象 |
要对架构中的任何对象执行操作,需要对父数据库和架构的 USAGE 权限。请注意,如果某个角色获授某个架构的任意权限,该角色便能够解析该架构。例如,若某角色被授予 CREATE 权限,则可以在该架构上创建对象,而无需 同时 被授予该架构的 USAGE 权限。
有关创建具有指定权限集的自定义角色的说明,请参阅 创建自定义角色。
使用说明¶
如果您移除应用程序的实时版本,则在您执行以下任一操作之前,用户无法访问该应用程序:
对 Streamlit 对象执行 ALTER STREAMLIT ... ADD LIVE VERSION FROM LAST。
使用拥有应用程序的角色访问 Snowsight 中的应用程序。
如果在 Streamlit 应用程序运行时运行 ALTER STREAMLIT 命令,应用程序不会反映所做的更改。
如果希望更改反映在应用程序中,则必须重新加载或重新启动应用程序。
关于元数据:
注意
客户应确保在使用 Snowflake 服务时,不会将个人数据(用户对象除外)、敏感数据、出口管制数据或其他受监管数据作为元数据输入。有关更多信息,请参阅 Snowflake 中的元数据字段。
