CREATE STREAMLIT¶
在 Snowflake 中创建新的 Streamlit 应用程序对象或替换同一架构中的现有 Streamlit 应用程序对象。
语法¶
CREATE [ OR REPLACE ] STREAMLIT [ IF NOT EXISTS ] <name>
ROOT_LOCATION = '<stage_path_and_root_directory>'
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> [ , ... ] ) ]
必填参数¶
name
指定 Streamlit 对象的标识符(即名称)。此标识符对于在其中创建表的架构必须是唯一的。
此外,标识符必须以字母字符开头,且不能包含空格或特殊字符,除非整个标识符字符串放在双引号内(例如,
"My object"
)。放在双引号内的标识符也区分大小写。有关更多详细信息,请参阅 标识符要求。
ROOT_LOCATION = 'stage_path_and_root_directory'
指定包含 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'
。
MAIN_FILE = 'path_to_main_file_in_root_directory'
指定 Streamlit Python 应用程序的文件名。此文件名与
ROOT_LOCATION
的值相关。
可选参数¶
QUERY_WAREHOUSE = warehouse_name
指定仓库(Streamlit 应用程序发出的 SQL 查询在该仓库中运行)。
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
指定的目录中的所有文件都可用于 Streamlit 运行时。这包括 Python 源文件、environment.yml
和媒体文件。在克隆包含 Streamlit 对象的架构或数据库时,不会克隆 Streamlit 对象。
要指定 Streamlit 应用程序使用的包,请使用根位置中的
environment.yml
。关于元数据:
注意
客户应确保在使用 Snowflake 服务时,不会将个人数据(用户对象除外)、敏感数据、出口管制数据或其他受监管数据作为元数据输入。有关更多信息,请参阅 Snowflake 中的元数据字段。
CREATE OR REPLACE <object> 语句是原子的。也就是说,当对象被替换时,旧对象将被删除,新对象将在单个事务中创建。
示例¶
要创建 STREAMLIT 对象,请运行 CREATE STREAMLIT 命令,如下例所示:
CREATE STREAMLIT hello_streamlit
ROOT_LOCATION = '@streamlit_db.streamlit_schema.streamlit_stage'
MAIN_FILE = '/streamlit_main.py'
QUERY_WAREHOUSE = my_warehouse;