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

    identifier: 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

    identifier:
      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”.

external_access_integrations

opcional, sequência de cadeias de caracteres

Nomes de integrações de acesso externo necessárias para que esse código de aplicativo Streamlit acesse redes externas. Consulte CREATE STREAMLIT para obter mais detalhes.

segredos

opcional, dicionário

Atribui os nomes dos segredos a variáveis para que você possa usar as variáveis para fazer referência aos segredos ao recuperar informações dos segredos no código do aplicativo.

importações

opcional, sequência de cadeias de caracteres

Estágio e caminho para os arquivos enviados anteriormente que você deseja importar. Consulte CREATE STREAMLIT para obter mais detalhes.

artifacts

obrigatório, sequência de cadeias de caracteres

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