创建 Streamlit 应用程序

先决条件

在使用 Snowflake CLI 创建 Streamlit 应用程序之前,应满足以下先决条件:

引导 Streamlit 应用程序

snow init 命令用于创建本地目录,其中包含一组示例文件,可帮助您开始创建 Streamlit 应用程序。当您执行此命令时,Snowflake CLI 会创建以下目录结构:

example_streamlit/            - project name (default: example_streamlit)
  snowflake.yml               - configuration for snow streamlit commands
  environment.yml             - additional config for Streamlit, for example installing packages
  streamlit_app.py            - entrypoint file of the app
  pages/                      - directory name for Streamlit pages (default pages)
  common/                     - example “shared library”

要初始化 Streamlit 应用程序,请输入以下命令:

snow init new_streamlit_project --template example_streamlit -D query_warehouse=dev_warehouse -D stage=testing
Copy

小心

执行其他 snow streamlit 命令时,项目目录中的文件会被 Snowflake CLI Snowflake 处理,并且可以上传到 Snowflake。在将任何敏感信息放入项目目录中的文件中时应小心谨慎。

有关文件结构的更多信息,请参阅 在本地文件系统上创建 Streamlit 文件

为 Streamlit 应用程序创建项目定义

Snowflake 中的每个 Streamlit 应用程序都必须包含一个 snowflake.yml 项目定义文件。Streamlit 限制为每个项目定义文件对应一个应用程序。

下面显示的是一个 snowflake.yml 项目定义文件示例:

definition_version: 2
entities:
  my_streamlit:
    type: streamlit
    identifier: streamlit_app
    stage: my_streamlit_stage
    query_warehouse: my_streamlit_warehouse
    main_file: streamlit_app.py
    pages_dir: pages/
    external_access_integrations:
      - test_egress
    secrets:
      dummy_secret: "db.schema.dummy_secret"
    imports:
      - "@my_stage/foo.py"
    artifacts:
      - common/hello.py
      - environment.yml
Copy

下表描述了 Streamlit 项目定义的属性。

Streamlit 项目定义属性

属性

定义

identifier

可选字符串型

实体的可选 Snowflake 标识符。该值可以采用以下形式:

  • 字符串标识符文本

    identifer: my-streamlit-id
    
    Copy

    支持不带引号和带引号的标识符。要使用带引号的标识符,请在 YAML 值中包含周围的引号(例如 ’”My Streamlit Application”’)。

  • 对象

    identifer:
      name: my-streamlit-id
      schema: my-schema # optional
      database: my-db # optional
    
    Copy

    备注

    如果指定 schemadatabase,并在 name 属性中使用完全限定名称(例如 mydb.schema1.my-app),则会发生错误。

type

可选字符串型

必须是 streamlit

comment

可选字符串型

对 Streamlit 仪表板的注释。

title

可选字符串型

Streamlit 仪表板的可读标题。

stage

可选字符串型

存储应用程序工件的暂存区。默认值:None。

query_warehouse

必填字符串型

用于托管应用程序的 Snowflake 仓库。

main_file

可选字符串型

streamlit 应用程序的 ` 入口点文件 <https://docs.streamlit.io/get-started/tutorials/create-an-app (https://docs.streamlit.io/get-started/tutorials/create-an-app)>`_。默认值:“streamlit_app.py”。

pages_dir

可选字符串型

Streamlit ` 页面 <https://docs.streamlit.io/get-started/tutorials/create-a-multipage-app (https://docs.streamlit.io/get-started/tutorials/create-a-multipage-app)>`_。默认值:“pages”。

external_access_integrations

optionalstring sequence

此 Streamlit 应用程序代码访问外部网络所需的 外部访问集成 的名称。有关更多详细信息,请参阅 CREATE STREAMLIT

secrets

optionaldictionary

将密钥的名称分配给变量,以便在从应用程序代码中的密钥中检索信息时,可以使用这些变量引用密钥。

imports

optionalstring sequence

要导入的先前已上传文件的暂存区和路径。有关更多详细信息,请参阅 CREATE STREAMLIT

artifacts

requiredstring sequence

应包含在部署工件中的文件的列表。

语言: 中文