Criação de um aplicativo Streamlit

Pré-requisitos

Antes de criar um aplicativo Streamlit com Snowflake CLI, você deve atender aos seguintes pré-requisitos:

Como inicializar um aplicativo Streamlit

O comando snow init cria um diretório local com um conjunto de arquivos de amostra que ajudam você a começar a criar um aplicativo Streamlit. Ao executar este comando, o Snowflake CLI cria a seguinte estrutura de diretório:

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”

Para inicializar um aplicativo Streamlit, digite o seguinte comando:

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

Cuidado

Os arquivos dentro de um diretório de projeto são processados por Snowflake CLI e podem ser carregados no Snowflake ao executar outros comandos snow streamlit. Você deve ter cuidado ao colocar qualquer informação confidencial dentro de arquivos em um diretório de projeto.

Para obter mais informações sobre a estrutura do arquivo, consulte Criação de arquivos Streamlit em seu sistema de arquivo local.

Criação da definição do projeto para um aplicativo Streamlit

Cada aplicativo Streamlit no Snowflake deve incluir um arquivo de definição de projeto snowflake.yml. O Streamlit é limitado a um aplicativo por arquivo de definição de projeto.

A seguir mostramos um exemplo de arquivo de definição de projeto 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

A tabela a seguir descreve as propriedades de uma definição de projeto Streamlit.

Propriedades de definição do projeto Streamlit

Propriedade

Definição

identifier

opcional, cadeia de caracteres

Identificador Snowflake opcional para a entidade. O valor pode ter as seguintes formas:

  • Texto identificador de cadeia de caracteres

    identifer: my-streamlit-id
    
    Copy

    Identificadores entre aspas e sem aspas são suportados. Para usar identificadores entre aspas, inclua as aspas ao redor no valor YAML (por exemplo, ’”Meu aplicativo Streamlit”’).

  • Objeto

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

    Nota

    Ocorrerá um erro se você especificar um schema ou database e usar um nome totalmente qualificado na propriedade name (como mydb.schema1.my-app).

tipo

opcional, cadeia de caracteres

Deve ser streamlit.

comment

opcional, cadeia de caracteres

Comentário sobre o painel do Streamlit.

title

opcional, cadeia de caracteres

Título legível para humanos para o painel Streamlit.

stage

opcional, cadeia de caracteres

Estágio em que os artefatos do aplicativo serão armazenados. Padrão: nenhum.

query_warehouse

obrigatório, cadeia de caracteres

Warehouse Snowflake para hospedar o aplicativo.

main_file

opcional, cadeia de caracteres

Arquivo de ponto de entrada do aplicativo streamlit. Padrão: «streamlit_app.py».

pages_dir

opcional, cadeia de caracteres

Páginas Streamlit. Padrão: “páginas”.

artifacts

obrigatório, sequência de cadeias de caracteres

Lista de arquivos que devem ser inclusos nos artefatos de implementação.