Créer votre application Streamlit

Cette rubrique décrit comment déployer une application Streamlit in Snowflake à partir d’un code d’application Streamlit existant. Si vous êtes novice en matière de Streamlit in Snowflake et voulez d’abord essayer une application de démarrage, consultez Premiers pas avec Streamlit in Snowflake.

Avant de commencer :

Déployer votre code d’application

Si vous disposez déjà d’une application Streamlit sur votre machine locale ou sur une zone de préparation Snowflake, utilisez l’une des méthodes suivantes pour créer un objet STREAMLIT à partir de vos fichiers sources.

  1. Connectez-vous à Snowsight.

  2. Dans le menu de navigation, sélectionnez Projects » Streamlit.

  3. Sélectionnez + Streamlit App.

  4. Saisissez un nom pour votre application.

  5. Dans la liste déroulante App location sélectionnez la base de données et le schéma de votre application.

  6. Configurez l’environnement d’exécution de votre application :

    Pour créer une application en environnement d’exécution de conteneurs, procédez comme suit :

    • Sélectionnez Run on container.

    • Sélectionnez un pool de calcul sur lequel exécuter votre application.

    • Sélectionnez un entrepôt de requêtes sur lequel exécuter les requêtes de votre application.

    Pour créer une application en environnement d’exécution d’entrepôt, procédez comme suit :

    • Sélectionnez Run on warehouse.

    • Sélectionnez un entrepôt sur lequel exécuter votre application.

  7. Sélectionnez Create.

  8. Dans l’éditeur, remplacez le code de départ par votre propre code d’application. Vous pouvez coller directement du code ou importer des fichiers :

    • Pour importer des fichiers, sélectionnez + (Ajouter) » Upload file, choisissez les fichiers, puis sélectionnez Upload.

    • Pour créer des fichiers supplémentaires (par exemple, pyproject.toml), sélectionnez + (Ajouter) » Create new file.

  9. Sélectionnez Run.

Visualiser une application Streamlit

Pour obtenir des informations sur les privilèges requis pour voir une application Streamlit, voir Privilèges requis pour visualiser une application Streamlit.

  1. Connectez-vous à Snowsight.

  2. Dans le menu de navigation, sélectionnez Projects » Streamlit.

  3. Sélectionnez l’application Streamlit que vous souhaitez afficher.

si vous consultez une application Streamlit multi-pages, sélectionnez un onglet pour afficher des pages supplémentaires.

Configurer CI/CD avec GitHub Actions

Vous pouvez déployer des applications Streamlit in Snowflake automatiquement à partir d’un référentiel Git en utilisant Snowflake CLI et GitHub Actions. Vous pouvez utiliser une approche similaire avec d’autres fournisseurs CI/CD.

Conditions préalables

  • Un référentiel GitHub contenant les fichiers de votre application Streamlit et snowflake.yml.

  • Un secret SNOWCLI_PW configuré dans vos paramètres de référentiel GitHub.

Exemple de flux de travail

Créer un fichier .github/workflows/deploy.yml dans votre référentiel :

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

Validez et publiez le fichier pour déclencher le workflow.

Pour plus d’informations, consultez Documentation sur GitHub Actions.