Udostępnij za pośrednictwem


Kontrola wersji i wdrażanie notebooków

W tym artykule wyjaśniono, jak używać potoków integracji i wdrażania usługi Git z notesami w usłudze Microsoft Fabric. Dowiesz się, jak połączyć repozytorium, zarządzać kodem źródłowym notatnika i wdrażać notatniki w różnych środowiskach.

Zanim zaczniesz

  • Połącz obszar roboczy z usługą Git przed ukończeniem kroków kontroli źródła notesu. Aby uzyskać instrukcje dotyczące konfiguracji, zobacz Wprowadzenie do integracji z usługą Git.
  • Utwórz reguły wdrażania notesu na etapie docelowym (na przykład Test lub Produkcja), a nie w obszarze Programowanie.
  • Aby utworzyć reguły wdrażania, musisz być właścicielem elementu.

Integracja notatnika Git

Dzienniki Fabric obsługują integrację z Git i Azure DevOps na potrzeby zarządzania wersjami. Wersjonowanie zmian notesu, współpraca z wykorzystaniem gałęzi i zarządzanie cyklem życia notesu i jego aktualizacjami można realizować bezpośrednio w Fabric.

Po zatwierdzeniu notesu wraz z dołączonymi zależnościami (na przykład środowiskami) synchronizacja z innym obszarem roboczym zachowuje te powiązania. Sieć szkieletowa automatycznie wiąże notes z odpowiednimi zasobami w nowym obszarze roboczym.

Aby zapewnić obsługę tego zachowania, Fabric przechowuje identyfikatory logiczne dla dołączonych zasobów w metadanych notebooka. W związku z tym różnice Git mogą pokazywać aktualizacje metadanych z identyfikatorów fizycznych do logicznych.

Uwaga

Aktualizacje metadanych związane z identyfikatorami logicznymi i automatycznym powiązaniem mogą być wyświetlane w widokach różnic Gita, nawet jeśli kod notatnika nie ulegnie zmianie.

Konfigurowanie połączenia

W ustawieniach obszaru roboczego skonfiguruj połączenie z repozytorium, aby zatwierdzić i zsynchronizować zmiany. Aby uzyskać instrukcje dotyczące konfiguracji, zobacz Wprowadzenie do integracji z usługą Git. Po nawiązaniu połączenia elementy, w tym notesy, są wyświetlane w panelu sterowania Źródło .

Zrzut ekranu przedstawiający panel sterowania źródła obszaru roboczego.

Po zatwierdzeniu instancji notebooka do repozytorium Git można zobaczyć strukturę folderów notebooka w repozytorium.

Teraz możesz wykonywać operacje Git, takie jak Tworzenie pull request.

Reprezentacja notebooka w Git

Poniższy tekst przedstawia strukturę plików dla elementu notesu w repozytorium Git:

.
├── Notebook_1.Notebook/
│   ├── Resources/ (Optional)
│   │   └── builtin/
│   │       ├── large_dataset.parquet
│   │       └── model_output.parquet
│   ├── .platform
│   ├── fs-settings.json (Optional)
│   ├── notebook-content.py
│   └── notebook-settings.json (Optional)
└── Readme.md
.
├── Notebook_2.Notebook/
│   ├── Resources/ (Optional)
│   │   └── builtin/
│   │       ├── large_dataset.parquet
│   │       └── model_output.parquet
│   ├── .platform
│   ├── fs-settings.json (Optional)
│   ├── notebook-content.sql
│   └── notebook-settings.json (Optional)
└── Readme.md

Po zatwierdzeniu elementu notesu, Fabric przechowuje go jako pliki źródłowe zamiast pliku standardowego .ipynb. Na przykład notes PySpark jest przechowywany jako notebook-content.py. Ten format jest łatwiejszy do przejrzenia w różnicach usługi Git.

Plik źródłowy przechowuje metadane notesu (w tym domyślne środowisko lakehouse i dołączone), komórki markdown i komórki kodu jako oddzielne sekcje. Fabric używa tej struktury do odtworzenia notatnika podczas ponownej synchronizacji z obszarem roboczym.

Dane wyjściowe komórki notesu nie są uwzględniane podczas synchronizacji z usługą Git.

Poniższy zrzut ekranu przedstawia format źródła w repozytorium Git:

Zrzut ekranu przedstawiający format zawartości repozytorium Git notatnika.

Uwaga

Utrzymuj notesy i ich zależne środowiska w tym samym obszarze roboczym oraz wersjonuj zarówno notes, jak i elementy środowiska w usłudze Git. Fabric mapuje te relacje podczas synchronizacji z nowymi obszarami roboczymi.

Domyślny identyfikator Lakehouse pozostaje w metadanych notesu podczas synchronizacji z repozytorium do obszaru roboczego Fabric. W razie potrzeby ręcznie powiąż notatnik z nowym elementem lakehouse. Aby uzyskać więcej informacji, zobacz integrację Git z Lakehouse.

Ustawienia Git notebooku

Panel ustawień Git umożliwia kontrolowanie interakcji notatników z systemem kontroli wersji, w tym opcje powiązania z Git oraz zarządzanie plikami w folderze zasobów uwzględnionymi w zatwierdzeniach.

Uwaga

Nie edytuj notebook-settings.json w repozytorium Git, aby kontrolować automatyczne wiązanie lub zasoby usługi Git. Zamiast tego zarządzaj tymi ustawieniami za pośrednictwem strony ustawień notesu.

Automatyczne wiązanie Lakehouse w Git

Automatyczne powiązanie usługi Lakehouse umożliwia usłudze Fabric rozpoznawanie poprawnego domyślnego magazynu typu lakehouse dla każdego połączonego z usługą Git obszaru roboczego. Zmniejsza potrzebę ręcznego ponownego powiązania przy przenoszeniu notesów między obszarami roboczymi rozwojowymi, testowymi i produkcyjnymi.

Włącz tę funkcję z ustawień notesu. Po jej włączeniu usługa Fabric tworzy notebook-settings.json w repozytorium i automatycznie zarządza tym plikiem. Nie edytuj tego pliku ręcznie.

Zrzut ekranu powiązania git notatnika.

Uwaga

Integracja notebooka z Git obsługuje utrwalanie relacji między notebookami a dołączonymi lakehouse’ami podczas synchronizacji między obszarami roboczymi. Podczas synchronizowania notesu z innym obszarem roboczym możesz wybrać, czy jest on powiązany z Lakehouse w źródłowym obszarze roboczym, czy z Lakehouse w nowym obszarze roboczym. W przypadku notesów już wersjonowanych w Git, fizyczny identyfikator załączonego Lakehouse w metadanych notesu jest zastępowany identyfikatorem logicznym. Ta zmiana może pojawić się w widoku diff Gita.

Wsparcie zasobów folderów notatników w Git

Uwaga

Folder Zasoby Środowiskowe oraz integracja z potokami wdrażania i publicznymi interfejsami API nie są obecnie obsługiwane.

Wbudowany folder Resources może zostać zatwierdzony w usłudze Git, dzięki czemu skrypty i pliki konfiguracji są wersjonowane za pomocą notesu.

Ta funkcja jest domyślnie opcjonalna i wyłączona. Włącz to w ustawieniach notatnika w sekcji ustawień Git. Po jej włączeniu pliki w folderze Resources są dołączane do zatwierdzeń. Ze względu na to, że zatwierdzenia mają limit 50 MB, użyj reguł plików lub reguł Git, aby wykluczyć duże pliki lub foldery tymczasowe.

Zrzut ekranu przedstawiający zasoby notesu w konfiguracji usługi Git.

Uwaga

Tylko .gitignore w folderze głównym zasobu wbudowanego ma zastosowanie.

Po skonfigurowaniu reguł Git i zatwierdzeniu zmian Fabric zapisuje reguły w fs-settings.json w repozytorium. Sieć szkieletowa generuje ten plik i zarządza nim, aby zachować spójność konfiguracji repozytorium. Nie zalecamy również edytowania tego pliku bezpośrednio w repozytorium Git.

Zrzut ekranu przedstawiający strukturę zasobów notesu w konfiguracji usługi Git.

Notatnik w potokach wdrażania

Użyj potoków wdrażania, aby podwyższać poziom zmian notatnika na różnych etapach, takich jak Rozwój, Testowanie i Produkcja. Zweryfikuj aktualizacje we wcześniejszych etapach, zanim wdrożysz je do produkcji.

Wdrożenie notesu obsługuje automatyczne wiązanie dla domyślnego lakehouse i dołączonego środowiska, gdy elementy zależne znajdują się w tym samym obszarze roboczym. Podczas wdrażania, Fabric może ponownie przypisać te zależności do odpowiednich elementów w docelowym obszarze roboczym. Zmiany metadanych mogą pojawić się w widoku różnic.

Jeśli potrzebujesz określonego domyślnego magazynu typu lakehouse dla etapu docelowego, skonfiguruj regułę wdrażania, aby nadpisać automatyczne powiązanie.

Nowy interfejs użytkownika potoku wdrażania jest obecnie używany w tym artykule. Możesz przełączyć się do starego interfejsu użytkownika, wyłączając nowy potok wdrażania.

Uwaga

Znany problem: status zamrożonej komórki w notesach nie jest zachowywany podczas wdrażania.

Wykonaj poniższe kroki, aby wdrożyć notatniki za pośrednictwem pipeline'u wdrożeniowego.

  1. Utwórz potok wdrażania lub otwórz istniejący. Aby uzyskać więcej informacji, zobacz Rozpocznij pracę z potokami wdrażania.

  2. Przypisz obszary robocze do różnych etapów zgodnie z celami wdrożenia.

  3. Wybierz, wyświetl i porównaj elementy, w tym notesy, między etapami. Wyróżniony wskaźnik pokazuje liczbę zmienionych elementów między poprzednim etapem a bieżącym etapem.

    Zrzut ekranu przedstawiający notes w procesie wdrażania.

  4. Wybierz pozycję Wdróż, aby promować notesy na etapach Programowania, Testowania i Produkcji.

    Zrzut ekranu przedstawiający wybieranie elementów i wdrażanie.

  5. W oknie Wdrażanie w tym etapie przejrzyj nowe i zmienione elementy. Aby kontynuować wdrażanie, nawet jeśli co najmniej jeden element zakończy się niepowodzeniem, wybierz pozycję Kontynuuj wdrażanie, jeśli co najmniej jeden element zakończy się niepowodzeniem.

    Po przejrzeniu i potwierdzeniu zaznaczenia wybierz pozycję Wdróż.

    Zrzut ekranu przedstawiający pop-up.png wdrażania zawartości.

  6. (Opcjonalnie) Aby utworzyć reguły wdrażania, wybierz Reguły wdrażania na docelowym etapie w potoku (na przykład Test lub Produkcja).

    Aby uzyskać informacje o ogólnych zasadach działania i ograniczeniach reguł, zobacz Tworzenie reguł wdrażania.

    Zrzut ekranu przedstawiający wpis reguł wdrażania.

  7. Skonfiguruj domyślną regułę usługi Lakehouse dla każdego wdrożenia notesu.

    Ta reguła kontroluje, z którym lakehouse'owym magazynem notatnik łączy się na docelowym etapie po wdrożeniu.

    W oknie Ustawianie reguł wdrażania wybierz kafelek Domyślny Lakehouse.

    Użyj list rozwijanych Od i Do, aby przyporządkować domyślny magazyn lakehouse stadium źródłowego do domyślnego magazynu lakehouse stadium docelowego.

    • Tak samo jak w przypadku źródła lakehouse: zachowaj to samo domyślne ustawienie lakehouse co etap źródłowy.
    • N/A (bez domyślnego lakehouse): Usuń domyślne ustawienie lakehouse na etapie docelowym.
    • Inne: Zastąp domyślny lakehouse w etapie źródłowym innym lakehouse w etapie docelowym.

    Jeśli wybierzesz pozycję Inne na liście rozwijanej Do , podaj szczegóły docelowej bazy danych lakehouse:

    • Identyfikator usługi Lakehouse
    • Nazwa Lakehouse
    • Identyfikator obszaru roboczego usługi Lakehouse

    Zrzut ekranu przedstawiający ustawienie domyślnego lakehouse.

    Uwaga

    Identyfikator usługi Lakehouse jest wymagany podczas konfigurowania tej reguły. Identyfikator lakehouse można uzyskać z adresu URL elementu. Reguły wdrażania mają priorytet nad automatycznym powiązaniem. Jeśli skonfigurowano regułę wdrażania, zastępuje ona automatycznie powiązany lakehouse.

  8. Monitoruj stan wdrożenia z historii wdrożenia.