Criar o app Streamlit

Este tópico descreve como implantar um app Streamlit in Snowflake com base no código do app Streamlit existente. Se você é iniciante no Streamlit in Snowflake e deseja experimentar um app inicial primeiro, consulte Introdução às Streamlit in Snowflake.

Antes de começar:

Implantar o código do app

Se você já tem um app Streamlit em sua máquina local ou em uma área de preparação do Snowflake, use um dos seguintes métodos para criar um objeto STREAMLIT de seus arquivos de origem.

  1. Faça login no Snowsight.

  2. No menu de navegação, selecione Projects » Streamlit.

  3. Selecione + Streamlit App.

  4. Digite um nome para seu aplicativo.

  5. No menu suspenso App location, selecione o banco de dados e o esquema do seu aplicativo.

  6. Configure o tempo de execução do seu app:

    Para criar um app de tempo de execução de contêiner, faça as seguintes seleções:

    • Selecione Run on container.

    • Selecione um pool de computação para executar seu app.

    • Selecionar um warehouse de consulta para executar as consultas do seu aplicativo.

    Para criar um app de tempo de execução do warehouse, faça as seguintes seleções:

    • Selecione Run on warehouse.

    • Selecione um warehouse para executar seu app.

  7. Selecione Create.

  8. No editor, substitua o código inicial pelo próprio código do seu app. Você pode colar o código diretamente ou carregar arquivos:

    • Para carregar arquivos, selecione + (Adicionar) » Upload file, escolha os arquivos e selecione Upload.

    • Para criar arquivos adicionais (como pyproject.toml), selecione + (Adicionar) » Create new file.

  9. Selecione Run.

Visualização de um aplicativo Streamlit

Para obter informações sobre os privilégios necessários para visualizar um aplicativo Streamlit, consulte Privilégios necessários para visualizar um aplicativo Streamlit.

  1. Faça login no Snowsight.

  2. No menu de navegação, selecione Projects » Streamlit.

  3. Selecione o aplicativo Streamlit que deseja visualizar.

se você estiver visualizando um app Streamlit com várias páginas, selecione uma guia para visualizar páginas adicionais.

Configurar CI/CD com GitHub Actions

Você pode implantar apps Streamlit in Snowflake automaticamente de um repositório Git usando a Snowflake CLI e o GitHub Actions. Você pode usar uma abordagem semelhante com outros provedores de CI/CD.

Pré-requisitos

  • Um repositório GitHub contendo os arquivos do app Streamlit e o snowflake.yml.

  • Um segredo SNOWCLI_PW definido nas configurações do repositório GitHub.

Exemplo de fluxo de trabalho

Crie um arquivo .github/workflows/deploy.yml em seu repositório:

name: Deploy via Snowflake CLI

on:
  push:
    branches:
      - main

env:
  PYTHON_VERSION: '3.12'

jobs:
  build-and-deploy:
    runs-on: ubuntu-latest
    environment: dev
    steps:
      - name: 'Checkout GitHub Action'
        uses: actions/checkout@v3

      - name: Install Python
        uses: actions/setup-python@v4
        with:
          python-version: ${{ env.PYTHON_VERSION }}

      - name: 'Install Snowflake CLI'
        shell: bash
        run: |
          python -m pip install --upgrade pip
          pip install snowflake-cli

      - name: 'Create config'
        shell: bash
        env:
          SNOWFLAKE_PASSWORD: ${{ secrets.SNOWCLI_PW }}
        run: |
          mkdir -p ~/.snowflake
          cp config.toml ~/.snowflake/config.toml
          echo "password = \"$SNOWFLAKE_PASSWORD\"" >> ~/.snowflake/config.toml
          chmod 0600 ~/.snowflake/config.toml

      - name: 'Deploy the Streamlit app'
        shell: bash
        run: |
          snow streamlit deploy --replace

Confirme e envie o arquivo para acionar o fluxo de trabalho.

Para obter mais informações, consulte a documentação de ações GitHub.