CREATE STREAMLIT¶
在 Snowflake 中创建新的 Streamlit 应用程序对象或替换同一架构中的现有 Streamlit 应用程序对象。
语法¶
CREATE [ OR REPLACE ] STREAMLIT [ IF NOT EXISTS ] <name>
FROM <source_location>
MAIN_FILE = '<path_to_main_file_in_root_directory>'
QUERY_WAREHOUSE = <warehouse_name>
[ COMMENT = '<string_literal>' ]
[ TITLE = '<app_title>' ]
[ IMPORTS = ( '<stage_path_and_file_name_to_read>' [ , ... ] ) ]
[ EXTERNAL_ACCESS_INTEGRATIONS = ( <integration_name> [ , ... ] ) ]
[ ROOT_LOCATION = '<stage_path_and_root_directory>' ]
必填参数¶
name
指定 Streamlit 对象的标识符(即名称)。此标识符对于在其中创建表的架构必须是唯一的。
此外,标识符必须以字母字符开头,且不能包含空格或特殊字符,除非整个标识符字符串放在双引号内(例如,
"My object"
)。放在双引号内的标识符也区分大小写。有关更多详细信息,请参阅 标识符要求。
FROM source_location
从指定位置复制源文件以初始化应用程序。这种情况发生过一次。例如
FROM @streamlit_db.streamlit_schema.streamlit_stage
。MAIN_FILE = 'path_to_main_file_in_root_directory'
指定 Streamlit Python 应用程序的文件名。此文件名与
ROOT_LOCATION
的值相关。QUERY_WAREHOUSE = warehouse_name
指定仓库以运行由 Streamlit 应用程序发出的 SQL 查询。
备注
如果要在 Snowflake Native App Framework 中创建或替换 Streamlit 应用程序对象,
QUERY_WAREHOUSE
参数可选。
可选参数¶
COMMENT = 'string_literal'
指定 Streamlit 对象的注释。
DEFAULT:无值
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'
重要
ROOT_LOCATION
是遗留参数。Snowflake 建议使用FROM source_location
。对于使用 ROOT_LOCATION 创建的 Streamlit 应用程序,不支持多文件编辑和 Git 集成。
指定包含 Streamlit Python 文件、媒体文件和
environment.yml
文件的命名暂存区的完整路径,例如:ROOT_LOCATION = '@streamlit_db.streamlit_schema.streamlit_stage'
在此示例中,Streamlit 文件位于名为
streamlit_stage
的命名暂存区上,而该暂存区在名为streamlit_db
的数据库和名为streamlit_schema
的架构中。备注
此参数必须指向已命名内部暂存区内的单个目录。
Streamlit in Snowflake 不支持外部暂存区。
如果要在 Snowflake Native App Framework 中创建或替换 Streamlit 应用程序对象,请使用
FROM 'relative_path_from_stage_root_directory'
而非ROOT_LOCATION = 'stage_path_and_root_directory'
。
使用说明¶
在克隆包含 Streamlit 对象的架构或数据库时,不会克隆 Streamlit 对象。
要指定 Streamlit 应用程序使用的包,请使用
environment.yml
文件。关于元数据:
注意
客户应确保在使用 Snowflake 服务时,不会将个人数据(用户对象除外)、敏感数据、出口管制数据或其他受监管数据作为元数据输入。有关更多信息,请参阅 Snowflake 中的元数据字段。
OR REPLACE
和IF NOT EXISTS
子句互斥。它们不能同时用于同一条语句中。CREATE OR REPLACE <object> 语句是原子的。也就是说,当对象被替换时,旧对象将被删除,新对象将在单个事务中创建。
示例¶
要从暂存区创建 Streamlit 应用程序,请运行 CREATE STREAMLIT 命令,如下例所示:
CREATE STREAMLIT hello_streamlit
FROM @streamlit_db.streamlit_schema.streamlit_stage
MAIN_FILE = 'streamlit_main.py'
QUERY_WAREHOUSE = my_warehouse;
要从 Git 存储库创建 Streamlit 应用程序,请运行 CREATE STREAMLIT 命令,如下例所示:
CREATE STREAMLIT hello_streamlit
FROM @streamlit_db.streamlit_schema.streamlit_repo/branches/streamlit_branch/
MAIN_FILE = 'streamlit_main.py'
QUERY_WAREHOUSE = my_warehouse;