Dela via


Hantera Databricks-appar med databricks-tillgångspaket

Med Databricks Apps kan du skapa säkra data- och AI-program på Databricks-plattformen som du enkelt kan dela med användarna. Du kan hantera distributioner av dina appar med databricks-tillgångspaket. Mer information om appar och paket finns i Databricks-appar och Vad är Databricks-tillgångspaket?.

Den här artikeln beskriver hur du utvecklar en Databricks-app lokalt och sedan konfigurerar ett paket för att hantera distributioner av appen till Databricks-arbetsytan med databricks-tillgångspaket.

Tips/Råd

Om du vill initiera ett exempelpaket med en Streamlit-app använder du paketmallen streamlit-app med bundle init kommandot :

databricks bundle init https://github.com/databricks/bundle-examples --template-dir contrib/templates/streamlit-app

Kravspecifikation

Skapa en app lokalt

Skapa först en Databricks-app. Appar utvecklas i Python med hjälp av populära ramverk, till exempel Dash eller Gradio. Du kan skapa en Databricks-app lokalt från grunden, skapa en på Databricks-arbetsytan och sedan synkronisera filerna till din lokala dator eller hämta en Databricks-exempelapp från GitHub.

  • Så här skapar du en app från grunden:

    1. Följ en snabbstartsguide för ett ramverk:

    2. Lägg till en app.yaml fil i roten för projektet för att definiera hur du kör din huvudsakliga Python-app. Till exempel:

      För en Streamlit-app:

      command: ['streamlit', 'run', 'app.py']
      

      Eller för en Dash-app:

      command: ['python', 'app.py']
      
  • Så här skapar du en app på arbetsytan och synkroniserar den lokalt:

    1. Följ stegen i Skapa en anpassad Databricks-app för att skapa en app i användargränssnittet.

    2. Skapa en lokal katalog för appen och cd i den:

      mkdir hello-world-app
      cd hello-world-app
      
    3. Synkronisera appfilerna lokalt. Du kan kopiera databricks workspace export-dir kommandot från appinstallationssidan i arbetsytans användargränssnitt och köra det på kommandoraden. Till exempel:

      databricks workspace export-dir /Workspace/Users/someone@example.com/databricks_apps/hello-world_2025_05_09-17_43/hello-world-app .
      

      Detta laddar ned appfilerna i arbetsytekatalogen hello-world-app till katalogen på den lokala datorn.

  • Så här hämtar du en Databricks-exempelapp från GitHub:

    1. Klona GitHub-lagringsplatsen för Databricks-appmallar:

      git clone https://github.com/databricks/app-templates
      
    2. Välj en av exempelapparna som ett enkelt appprojekt.

Lägga till en befintlig app i ett befintligt paket

Om du har en Databricks-app på din arbetsyta och har ett befintligt paket som du vill lägga till appen i kan du använda databricks bundle generate app kommandot . Det här kommandot genererar en konfigurationsfil för appen och laddar ned alla källkodsfiler för appen och lägger till dem i ditt paket. Till exempel:

databricks bundle generate app --existing-app-name hello-world-app

När du har genererat appkonfigurationen i ditt paket använder du databricks bundle bind kommandot för att hålla appen i arbetsytan och paketet synkroniserat.

Mer information om databricks bundle generate och databricks bundle bindfinns ibundle kommandogruppen.

Utveckla och felsöka appen lokalt

Fortsätt sedan att utveckla din app lokalt. Starta och felsök appen med kommandot databricks apps run-local . Det här kommandot startar en appproxy som används för proxybegäranden till själva appen och matar in nödvändiga Databricks-apprelaterade rubriker.

  1. Om du vill installera alla beroenden och förbereda den virtuella miljön startar du appen och felsökaren genom att använda run-local kommandot med --prepare-environment alternativen och --debug :

    databricks apps run-local --prepare-environment --debug
    

    Det här kommandot använder uv för att förbereda den virtuella miljön och felsökningsprogrammet baseras på debugpy.

  2. Gå till http://localhost:8001 för att visa din app.

  3. Ange brytpunkter för att felsöka din app. Installera Python-felsökningsprogrammet i Visual Studio Code och välj sedan Kör>starta felsökning och sedan Fjärranslutning.

    Proxyn startar på port 5678, men du kan konfigurera den med hjälp av --port alternativet .

Distribuera appen till arbetsytan med hjälp av paket

När du är redo att distribuera din app till arbetsytan lägger du till paketkonfigurationen som skapar appen och distribuerar sedan paketet.

  1. Skapa en fil databricks.yml i roten för ditt appprojekt. Databricks CLI identifierar en mapp med en databricks.yml fil i roten som ett paket, vilket möjliggör databricks-paketkommandon.

  2. Kopiera och klistra in följande YAML i databricks.yml-filen och ersätt arbetsyte- och användarnamnsvärdena till dina egna.

    bundle:
      name: hello_world_bundle
    
    resources:
      apps:
        hello_world_app:
          name: 'hello-world-app'
          source_code_path: . # This assumes the app source code is at the root of the project.
          description: 'A Databricks app'
    
    targets:
      dev:
        mode: development
        default: true
        workspace:
          host: https://myworkspace.cloud.databricks.com
      prod:
        mode: production
        workspace:
          host: https://myworkspace.cloud.databricks.com
          root_path: /Workspace/Users/someone@example.com/.bundle/${bundle.name}/${bundle.target}
        permissions:
          - user_name: someone@example.com
            level: CAN_MANAGE
    
  3. Verifiera och distribuera sedan paketet. Som standard skapar detta appen och paketet i dev målet på arbetsytan.

    databricks bundle validate
    
    databricks bundle deploy
    
  4. bundle summary Använd kommandot för att hämta appens resurs-URL för att öppna appsidan på arbetsytan:

    databricks bundle summary
    
    Name: hello_world_bundle
    Target: dev
    Workspace:
      Host: https://myworkspace.cloud.databricks.com
      User: someone@example.com
      Path: /Workspace/Users/someone@example.com/.bundle/hello_world_bundle/dev
    Resources:
      Apps:
        hello_world_app:
          Name: hello-world-app
          URL:  https://myworkspace.cloud.databricks.com/apps/hello-world-app?o=8498204313176880
    

Utveckla, testa och distribuera sedan för produktion

Fortsätt att göra ändringar i appen lokalt och distribuera sedan om paketet för att uppdatera appen på arbetsytan. Starta appen på arbetsytan genom att köra appen i paketet genom att ange resursnyckeln för appen i kommandot :

databricks bundle run hello_world_app

När du är redo att göra appen tillgänglig i produktion distribuerar du paketet till målarbetsytan för produktion och kör appen:

databricks bundle deploy -t prod
databricks bundle run hello_world_app -t prod

Ytterligare resurser