Erstellen der Streamlit-App

Unter diesem Thema wird beschrieben, wie Sie eine Streamlit in Snowflake-App aus bestehendem Streamlit-App-Code bereitstellen. Wenn Sie neu bei Streamlit in Snowflake sind und zuerst eine Starter-App ausprobieren möchten, finden Sie Informationen hierzu unter Erste Schritte mit Streamlit in Snowflake.

Bevor Sie beginnen:

  • Stellen Sie sicher, dass Sie die erforderlichen Voraussetzungen.

  • Wählen Sie eine :doc:` Laufzeitumgebung <runtime-environments>` für Ihre App (Container oder Warehouse) aus.

  • Bereiten Sie Ihre Abhängigkeiten in einer:file:requirements.txt-, pyproject.toml oder environment.yml-Datei vor.

  • Überprüfen Sie die erwarteten Dateiorganisation für die Quelldateien Ihrer App.

Bereitstellen des App-Codes

Wenn Sie bereits eine Streamlit-App auf Ihrem lokalen Computer oder in einem Snowflake-Stagingbereich haben, verwenden Sie eine der folgenden Methoden, um ein STREAMLIT-Objekt aus Ihren Quelldateien zu erstellen.

  1. Melden Sie sich bei Snowsight an.

  2. Wählen Sie im Navigationsmenü die Option Projects » Streamlit aus.

  3. Wählen Sie + Streamlit App aus.

  4. Geben Sie einen Namen für Ihre App ein.

  5. Wählen Sie in der Dropdown-Liste App location die Datenbank und das Schema für Ihre App aus.

  6. Konfigurieren Sie die Laufzeitumgebung für Ihre App:

    Um eine Container-Laufzeit-App zu erstellen, treffen Sie die folgende Auswahl:

    • Wählen Sie Run on container aus.

    • Wählen Sie einen Computepool aus, in dem Sie Ihre App ausführen möchten.

    • Wählen Sie ein Abfrage-Warehouse aus, in dem Sie die Abfragen Ihrer App ausführen möchten.

    Um eine Warehouse-Laufzeit-App zu erstellen, wählen Sie Folgendes aus:

    • Wählen Sie Run on warehouse aus.

    • Wählen Sie ein Warehouse aus, auf dem Sie Ihre App ausführen möchten.

  7. Wählen Sie Create aus.

  8. Ersetzen Sie im Editor den Startcode durch Ihren eigenen App-Code. Sie können Code direkt einfügen oder Dateien hochladen:

    • Um Dateien hochzuladen, wählen Sie + (Hinzufügen) » Upload file und dann Upload aus.

    • Um zusätzliche Dateien zu erstellen (z. B.:file:pyproject.toml), wählen Sie + (Hinzufügen) » Create new file aus.

  9. Wählen Sie Run aus.

Anzeigen einer Streamlit-App

Informationen zu den Berechtigungen, die zum Anzeigen einer Streamlit-App erforderlich sind, finden Sie unter Erforderliche Berechtigungen zum Anzeigen einer Streamlit-App.

  1. Melden Sie sich bei Snowsight an.

  2. Wählen Sie im Navigationsmenü die Option Projects » Streamlit aus.

  3. Wählen Sie die Streamlit-App aus, die Sie anzeigen möchten.

Wenn Sie eine mehrseitige Streamlit-App anzeigen, wählen Sie eine Registerkarte, um weitere Seiten anzuzeigen.

Einrichten von CI/CD mitGitHub Actions

Sie können Streamlit in Snowflake-Apps automatisch aus einem Git-Repository mit Snowflake CLI und GitHub Actions bereitstellen. Sie können einen ähnlichen Ansatz mit anderen CI/CD-Anbietern verwenden.

Voraussetzungen

  • Ein GitHub-Repository, das Ihre Streamlit-App-Dateien und snowflake.yml enthält.

  • Ein SNOWCLI_PW-Geheimnis, das in den Einstellungen Ihres GitHub-Repositorys konfiguriert ist.

Beispiel-Workflow

Erstellen Sie eine .github/workflows/deploy.yml-Datei in Ihrem Repository:

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

Committen und verschieben Sie die Datei, um den Workflow zu triggern.

Weitere Informationen finden Sie in der GitHub Dokumentation zu Aktionen.