Wdróż aplikację Databricks

Po utworzeniu i opracowaniu aplikacji Azure Databricks wdróż ją, aby była dostępna w obszarze roboczym Azure Databricks. Wdrożenie kompiluje aplikację, instaluje zależności i uruchamia ją przy użyciu konfiguracji zdefiniowanej w plikach projektu. Aplikacje można wdrażać przy użyciu interfejsu użytkownika Azure Databricks lub interfejsu wiersza polecenia usługi Databricks.

Uwaga / Notatka

Jeśli tworzysz aplikację na podstawie szablonu, Azure Databricks wdraża ją automatycznie po pierwszym utworzeniu. Jednak po wprowadzeniu zmian nadal można go ponownie wdrożyć później. Zobacz Tworzenie aplikacji usługi Databricks na podstawie szablonu.

Logika wdrażania

Usługa Databricks Apps obsługuje wdrażanie aplikacji korzystających z Python, Node.jslub kombinacji obu tych aplikacji. Umożliwia to elastyczne architektury, takie jak fronton Node.js z zapleczem Python.

Podczas wdrażania proces kompilacji sprawdza package.json plik w katalogu głównym aplikacji, aby określić, czy Node.js jest używany. Jeśli jest obecny, obejmuje kroki kompilacji specyficzne dla Node.js wraz z krokami Pythona. Logika wdrażania jest zgodna z tym wzorcem:

Jeśli package.json jest obecny:

  1. Uruchom npm install
  2. Zainstaluj zależności Python:
    • Jeśli requirements.txt istnieje, uruchom polecenie pip install -r requirements.txt
    • Jeśli requirements.txt nie istnieje i pyproject.toml oraz uv.lock istnieją, uruchom uv sync, aby zainstalować zależności
  3. Uruchom npm run build (jeśli build skrypt jest zdefiniowany w package.json)
  4. Uruchom polecenie określone w pliku app.yamllub npm run start jeśli nie określono polecenia

Uwaga / Notatka

Jeśli w app.yaml nie określono polecenia, Azure Databricks wykonuje npm run start, nawet jeśli aplikacja zawiera kod Python. Aby uruchomić zarówno procesy Python, jak i Node.js, zdefiniuj niestandardowy skrypt start, który używa narzędzia takiego jak concurrently do uruchomienia obu. Na przykład: concurrently "npm run start:node" "python my_app.py".

Jeśli package.json nie występuje:

  1. Zainstaluj zależności Python:
    • Jeśli requirements.txt istnieje, uruchom polecenie pip install -r requirements.txt
    • Jeśli requirements.txt nie istnieje i pyproject.toml oraz uv.lock istnieją, uruchom uv sync, aby zainstalować zależności
  2. Uruchom polecenie określone w pliku app.yamllub python <my-app>.py jeśli nie określono polecenia

Przygotowanie do wdrożenia

Przed wdrożeniem aplikacji sprawdź, czy projekt zawiera niezbędne składniki:

Ponadto upewnij się, że główna jednostka usługowa aplikacji ma dostęp do folderu kodu źródłowego.

Wybieranie źródła wdrożenia

Aplikacje usługi Databricks można wdrażać z następujących źródeł:

  • Folder obszaru roboczego — przekazywanie plików aplikacji do folderu obszaru roboczego i wdrażanie z tego miejsca. Jest to standardowa metoda wdrażania. Zobacz Wdrażanie z folderu obszaru roboczego.
  • Repozytorium Git — skonfiguruj repozytorium Git dla aplikacji i wdróż je bezpośrednio bez przekazywania plików do obszaru roboczego. Aplikacja odczytuje kod ze skonfigurowanej dokumentacji git (gałęzi, tagu lub zatwierdzenia) przy każdym wdrożeniu. Zobacz Wdrażanie z repozytorium Git.

W dowolnym momencie możesz przełączać się między obszarem roboczym a źródłami usługi Git dla tej samej aplikacji. Zobacz Aktualizowanie lub ponowne wdrażanie aplikacji.

Wdrażanie aplikacji

W poniższych sekcjach opisano sposób wdrażania z folderu obszaru roboczego lub bezpośrednio z repozytorium Git.

Wdrażanie z folderu obszaru roboczego

Interfejs użytkownika usługi Databricks

Aby wdrożyć aplikację z poziomu interfejsu użytkownika Azure Databricks:

  1. Przekaż pliki aplikacji do obszaru roboczego Azure Databricks. Aby uzyskać instrukcje, zobacz Importowanie pliku.
  2. W obszarze roboczym usługi Databricks kliknij ikonę Aplikacja. Przełącznik aplikacji i wybierz pozycję Aplikacje usługi Databricks.
  3. Wybierz aplikację w kolumnie Nazwa .
  4. Kliknij pozycję Wdróż i wybierz folder w obszarze roboczym, w którym przekazano pliki aplikacji.
  5. Kliknij Wybierz, a następnie Wdróż.

Interfejs wiersza polecenia usługi Databricks

Aby wdrożyć aplikację przy użyciu interfejsu wiersza polecenia:

  1. Otwórz terminal i przejdź do katalogu zawierającego pliki aplikacji.

  2. Przekaż pliki aplikacji do obszaru roboczego Azure Databricks przy użyciu polecenia sync. Zastąp ścieżkę lokalizacją obszaru roboczego, w której chcesz przesłać pliki.

    databricks sync --watch . /Workspace/Users/my-email@org.com/my-app
    

    Flaga --watch utrzymuje uruchomiony proces synchronizacji i automatycznie przekazuje zmiany podczas lokalnego modyfikowania plików. Aby wykluczyć określone pliki lub katalogi z synchronizacji, dodaj je do .gitignore pliku w lokalnym katalogu aplikacji. Typowe pliki do wykluczenia to node_modules/, , .env__pycache__/, .DS_Storei wszelkie duże pliki danych lub artefakty kompilacji.

  3. Zweryfikuj przesyłanie, wyświetlając pliki w swoim obszarze roboczym. Kliknij ikonę aplikacji. w przełączniku aplikacji >Analiza i SI, a następnie kliknij ikonę Obszar roboczyObszar roboczy i przejdź do katalogu utworzonego dla aplikacji.

  4. Wdróż aplikację, uruchamiając następujące polecenie. Zastąp nazwę aplikacji i ścieżkę kodu źródłowego swoimi wartościami.

    databricks apps deploy my-app-name \
       --source-code-path /Workspace/Users/my-email@org.com/my-app
    

    Interfejs wiersza polecenia wyświetla postęp wdrażania i potwierdza, kiedy aplikacja jest uruchomiona.

Wdrażanie z repozytorium Git

Aby wdrożyć aplikację z repozytorium Git, dodaj repozytorium na poziomie aplikacji, a następnie określ odwołanie git podczas wdrażania. Repozytorium Git musi zawierać pliki aplikacji, w tym app.yaml, zależności i punkt wejścia. Wszyscy główni dostawcy usługi Git są obsługiwani, w tym GitHub, GitLab i Bitbucket. Aplikacje oparte na usłudze Git można również wdrażać przy użyciu interfejsu użytkownika, interfejsu wiersza polecenia, interfejsu API lub pakietów deklaratywnej automatyzacji.

Interfejs użytkownika usługi Databricks

Aby skonfigurować i wdrożyć aplikację z usługi Git:

  1. Przekaż pliki aplikacji do repozytorium Git.
  2. W obszarze roboczym usługi Databricks kliknij ikonę Aplikacja. Przełącznik aplikacji i wybierz pozycję Aplikacje usługi Databricks.
  3. Wybierz istniejącą aplikację do edycji lub kliknij pozycję + Utwórz aplikację , a następnie utwórz aplikację niestandardową. Zobacz Utwórz niestandardową aplikację Databricks.
  4. W kroku Konfigurowanie usługi Git wprowadź adres URL repozytorium Git (na przykład https://github.com/org/repo) i wybierz dostawcę git.
  5. W przypadku nowej aplikacji wprowadź referencję Git (gałąź, tag lub commit) i, w przypadku repozytoriów GitHub, opcjonalnie włącz Automatyczne wdrażanie przy zdarzeniach push. Zobacz Włączanie automatycznych wdrożeń usługi Git.
  6. Kliknij pozycję Utwórz aplikację lub Zapisz , aby powrócić do strony przeglądu aplikacji.
  7. W przypadku repozytoriów prywatnych główny użytkownik usługi aplikacji musi mieć skonfigurowane poświadczenie Git. Na stronie przeglądu aplikacji kliknij pozycję Konfiguruj poświadczenia usługi Git. Aby dodać poświadczenia Git, musisz mieć CAN MANAGE uprawnienia do aplikacji. Repozytoria publiczne nie wymagają poświadczeń usługi Git. Aby uzyskać instrukcje dla każdego dostawcy, zobacz Łączenie dostawcy Git z usługą Databricks.

Następnie wdróż aplikację:

  1. Na stronie przeglądu aplikacji kliknij pozycję Wdróż.
  2. Wybierz Git.
  3. W polu Odwołanie do Git wprowadź nazwę gałęzi, tag lub identyfikator SHA zatwierdzenia (na przykład main, v1.0.0 lub skrót zatwierdzenia).
  4. W polu Typ odwołania określ typ odwołania, taki jak gałąź, tag lub zatwierdzenie.
  5. (Opcjonalnie) W polu Ścieżka kodu źródłowego wprowadź ścieżkę do określonego katalogu w repozytorium. Aplikacja traktuje ten katalog jako katalog najwyższego poziomu i nie może uzyskać dostępu do plików poza nim. Jeśli nie określisz ścieżki, usługa Databricks używa katalogu głównego repozytorium.
  6. (Opcjonalnie) Aby wdrażać automatycznie przy każdym commicie do gałęzi, włącz Automatyczne wdrażanie przy zdarzeniach push. Należy ustawić gałąź do obserwowania. Opcjonalnie możesz dołączyć ścieżkę kodu źródłowego , aby ustawić ścieżkę inną niż katalog główny repozytorium. Zobacz Włączanie automatycznych wdrożeń usługi Git.
  7. Kliknij Wdróż.

Interfejs wiersza polecenia usługi Databricks

Aby wdrożyć aplikację z usługi Git przy użyciu interfejsu wiersza polecenia:

  1. Przekaż pliki aplikacji do repozytorium Git.

  2. Skonfiguruj repozytorium Git w aplikacji podczas tworzenia aplikacji lub dodaj je do istniejącej aplikacji. Obsługiwani dostawcy to gitHub, gitHubEnterprise, gitLab, gitLabEnterpriseEdition, bitbucketCloud, bitbucketServer, azureDevOpsServices i awsCodeCommit.

    Aby utworzyć nową aplikację przy użyciu skonfigurowanego repozytorium Git, użyj polecenia create :

    databricks apps create my-app \
       --json '{"git_repository": {"url": "https://github.com/org/repo", "provider": "gitHub"}}'
    

    Aby dodać lub zaktualizować repozytorium Git w istniejącej aplikacji, użyj polecenia create-update :

    databricks apps create-update my-app \
       --json '{"update_mask": "git_repository", "git_repository": {"url": "https://github.com/org/repo", "provider": "gitHub"}}'
    
  3. W przypadku repozytoriów prywatnych skonfiguruj poświadczenie Git dla głównej jednostki usługi aplikacji. Aby dodać poświadczenia Git, musisz mieć CAN MANAGE uprawnienia do aplikacji. Repozytoria publiczne nie wymagają poświadczeń usługi Git.

    Aby dodać poświadczenie usługi Git do jednostki usługi aplikacji przy użyciu interfejsu wiersza polecenia, uruchom polecenie:

    databricks git-credentials create --json '{
      "git_provider": "gitHub",
      "git_email": "your-email@example.com",
      "personal_access_token": "YOUR_TOKEN",
      "principal_id": YOUR_SP_ID,
      "name": "GitHub credentials for SP"
    }'
    

    Zastąp element YOUR_SP_ID identyfikatorem jednostki usługi aplikacji. Aby uzyskać instrukcje dotyczące uzyskiwania osobistego tokenu dostępu dla każdego dostawcy, zobacz Łączenie dostawcy Git z usługą Databricks.

  4. Wdróż aplikację, określając odwołanie do usługi Git. Można określić branch, taglub commit (wzajemnie się wykluczają). Opcjonalnie, dołącz source_code_path do wdrażania z podkatalogu w repozytorium.

    databricks apps deploy my-app \
       --json '{"git_source": {"branch": "main"}}'
    

    Aby wdrożyć określony tag lub commit:

    databricks apps deploy my-app \
       --json '{"git_source": {"tag": "v1.0.0"}}'
    
    databricks apps deploy my-app \
       --json '{"git_source": {"commit": "abc123def456"}}'
    

    Aby wdrożyć z podkatalogu w repozytorium:

    databricks apps deploy my-app \
       --json '{"git_source": {"branch": "main", "source_code_path": "apps/my-app"}}'
    

    Interfejs wiersza polecenia wyświetla postęp wdrażania i potwierdza, kiedy aplikacja jest uruchomiona.

W przypadku odniesień do gałęzi lub tagów Azure Databricks wprowadza najnowsze zatwierdzenie z tej gałęzi lub tagu. Dla referencji SHA zatwierdzeń Azure Databricks zawsze wdraża to konkretne zatwierdzenie. Jeśli poświadczenie usługi Git jednostki usługi jest nieprawidłowe lub wygasło, wdrożenie zakończy się niepowodzeniem.

Uwaga / Notatka

Aplikacje utworzone przed udostępnieniem wdrożenia usługi Git nie są automatycznie przydzielane twórcom CAN MANAGE uprawnień do jednostki usługi aplikacji. Jeśli musisz dodać poświadczenia usługi Git do starszej aplikacji, poproś administratora obszaru roboczego o przyznanie ci CAN MANAGE uprawnień do jednostki usługi.

Jednostki usług obsługują jedno poświadczenie Git na dostawcę. Jeśli zaktualizujesz poświadczenie w innym miejscu niż główna aplikacja, na przykład za pomocą konsoli konta, zastąpi ono istniejące poświadczenie dla tego dostawcy.

Włączanie automatycznych wdrożeń usługi Git

Ważne

Wdrożenia automatyczne z usługi Git są w wersji beta. GitHub jest jedynym obsługiwanym dostawcą w wersji beta.

Po włączeniu automatycznego wdrażania usługa Azure Databricks tworzy webhook w repozytorium GitHuba i ponownie wdraża aplikację za każdym razem, gdy w skonfigurowanej gałęzi pojawi się nowy commit. Wdrożona aplikacja pozostaje zsynchronizowana z repozytorium bez żadnych ręcznych kroków. Repozytoria mogą mieć maksymalnie 20 webhooków (250 w GitHub Enterprise).

Wdrożenia automatyczne wymagają następującej konfiguracji:

  • Aplikacja Azure Databricks GitHub musi być zainstalowana w repozytorium.
  • Repozytorium musi być prywatne. Usługa Databricks nie obsługuje wdrożeń automatycznych z repozytoriów publicznych.
  • Jednostka usługi aplikacji musi mieć poświadczenie Git z dostępem do repozytorium. Zobacz Łączenie dostawcy usługi Git z usługą Databricks.

Aby włączyć wdrożenia automatyczne, skonfiguruj GitHub jako dostawcę git i włącz Auto deploy on push events. Można to zrobić w jednym z następujących miejsc:

Odwołanie do usługi Git musi być nazwą gałęzi. Tagi nie są zgodne z wdrożeniami automatycznymi.

Uwaga / Notatka

Jeśli jednostka usługi aplikacji nie ma dla repozytorium poświadczeń Git, usługa Azure Databricks wyświetli monit o ich dodanie podczas włączania automatycznych wdrożeń. Autoryzowanie dostępu umożliwia automatyczne wdrażanie, ale należy ręcznie ponownie wdrożyć aplikację, aby je uruchomić.

Aby wyłączyć wdrożenia automatyczne, kliknij wskaźnik Automatyczne wdrażanie w istniejącej aplikacji i wyłącz automatyczne wdrażanie na zdarzeniach wypychanych. Możesz również ponownie skonfigurować ustawienia w obszarze Ustawienia aplikacji.

Wymuszanie wdrożeń wyłącznie przy użyciu Git

Administratorzy obszaru roboczego mogą wymagać wdrożenia wszystkich aplikacji w obszarze roboczym z repozytoriów Git. Przejdź do Ustawienia>Programowanie>Aplikacje i włącz opcję Zezwalaj tylko na wdrożenia aplikacji z systemu Git. To ustawienie jest domyślnie wyłączone.

W przypadku wymuszania wdrożeń usługi Git:

  • Użytkownicy muszą skonfigurować repozytorium Git przed utworzeniem aplikacji.
  • Użytkownicy mogą wdrażać tylko z usługi Git, a nie z folderów obszaru roboczego.
  • Usługa Databricks wyłącza szablony aplikacji w obszarze roboczym.
  • Użytkownicy nie mogą usunąć repozytorium Git z aplikacji, które je mają.
  • Istniejące aplikacje nadal działają, ale użytkownicy nie mogą ich wdrażać ani uruchamiać ponownie, chyba że aplikacja ma repozytorium Git.

Zachowanie po wdrożeniu

Po zakończeniu wdrażania Azure Databricks uruchamia twoją aplikację na podstawie zdefiniowanego command w pliku app.yaml lub domyślnie uruchamia python app.py. Strona przeglądu aplikacji zawiera bieżący stan i zapewnia dostęp do dzienników, historii wdrożenia i informacji o środowisku.

Wyświetlanie strony przeglądu aplikacji po wdrożeniu aplikacji

Aby wyświetlić dane wyjściowe wdrożonej aplikacji, kliknij link aplikacji.

Przejdź do karty Dzienniki na potrzeby debugowania i monitorowania środowiska uruchomieniowego. Zobacz Rejestrowanie i monitorowanie aplikacji usługi Databricks.

Aktualizowanie lub ponowne wdrażanie aplikacji

Ponownie wdróż aplikację po wprowadzeniu zmian w kodzie źródłowym lub konfiguracji. Ponowne wdrożenie stosuje najnowsze aktualizacje bez potrzeby ponownego tworzenia aplikacji. W dowolnym momencie można przeprowadzić ponowne wdrożenie z poziomu obszaru roboczego lub repozytorium Git.

Ponowne wdrażanie z folderu roboczego

Aby ponownie wdrożyć z folderu obszaru roboczego:

  1. Zaktualizuj pliki aplikacji w folderze obszaru roboczego.
  2. Wybierz aplikację i kliknij pozycję Wdróż.
  3. Jeśli ścieżka kodu źródłowego została zmieniona lub przełączasz się ze źródła usługi Git, kliknij strzałkę obok pozycji Wdróż i wybierz pozycję Wdróż przy użyciu innego źródła.

Ponowne wdrażanie z repozytorium Git

Aby ponownie wdrożyć z repozytorium Git:

  1. Wypchnij zmiany do repozytorium Git.
  2. W obszarze roboczym Azure Databricks wybierz aplikację i kliknij pozycję Deploy. Jeśli odwołanie Git zostało zmienione lub przełączasz się z innego źródła obszaru roboczego, kliknij strzałkę obok Wdróż i wybierz Wdróż przy użyciu innego źródła.

Aby zaktualizować repozytorium Git przy użyciu interfejsu wiersza polecenia lub interfejsu API, użyj polecenia create-update . Usunięcie repozytorium Git z aplikacji wymusza wdrożenie z obszaru roboczego.

Ważne

Zmiana repozytorium Git lub przełączanie się między źródłami wdrożenia (Git i obszarem roboczym) powoduje usunięcie wszystkich poświadczeń usługi Git dla jednostki usługi aplikacji. Zmiana tylko referencji Git nie powoduje usunięcia poświadczeń. Przed ponownym wdrożeniem z usługi Git należy ponownie skonfigurować poświadczenia.

Rozwiązywanie problemów z wdrażaniem

Jeśli wdrożenie aplikacji nie powiedzie się lub nie zostanie uruchomione zgodnie z oczekiwaniami, spróbuj wykonać następujące kroki rozwiązywania problemów:

  • Sprawdź dzienniki pod kątem komunikatów o błędach lub danych wyjściowych środowiska uruchomieniowego.
  • Zweryfikuj app.yaml składnię i ustawienia.
  • Sprawdź, czy wpisy tajne i zmienne środowiskowe w env sekcji są prawidłowo rozpoznawane.
  • Upewnij się, że wszystkie wymagane zależności są dołączone lub zainstalowane.
  • Jeśli obszar roboczy używa Private Link lub ograniczonych zasad sieci wychodzących, sprawdź, czy wymagane domeny są dozwolone. Brakujące wpisy na liście dozwolonych połączeń wychodzących są częstą przyczyną błędów wdrażania w środowiskach Private Link. Zobacz Wdrażanie aplikacji w środowiskach Private Link.

W przypadku wdrożeń repozytorium Git:

  • W przypadku repozytoriów prywatnych sprawdź, czy jednostka usługi aplikacji ma skonfigurowane poświadczenie Git.
  • Sprawdź, czy adres URL repozytorium Git jest poprawny i że w repozytorium istnieje odwołanie git (gałąź, tag lub zatwierdzenie).
  • Jeśli administrator obszaru roboczego wymusza wdrożenia tylko w usłudze Git, nie można wdrożyć ani uruchomić aplikacji, chyba że ma skonfigurowane repozytorium Git.
  • W przypadku wdrożenia z poziomu interfejsu wiersza polecenia, interfejsu API lub pakietów deklaratywnej automatyzacji najpierw utwórz aplikację, a następnie dodaj poświadczenie Git do jednostki usługi aplikacji.

Dalsze kroki