Konfigurowanie domyślnych repozytoriów pakietów

Ważna

Konfiguracja domyślnych repozytoriów pakietów Maven odbywa się w trybie Private Preview. Skontaktuj się z zespołem konta Databricks, aby poprosić o dostęp. Wszystkie pozostałe funkcje są zazwyczaj dostępne. Administratorzy przestrzeni roboczej mogą kontrolować dostęp do tych funkcji ze strony Podglądów , używając następujących ustawień:

  • Domyślne repozytoria pakietów Maven (Podgląd prywatny)
  • Włącz konfigurację repozytorium obszaru roboczego dla aplikacji Databricks (ogólnie dostępna)
  • Domyślne repozytoria pakietów Python w Spark Declarative Pipelines (Ogólnie dostępne)
  • Domyślne repozytoria pakietów Python w klastrzach tworzonych za pomocą API (Ogólnie dostępne)
  • Domyślne repozytoria pakietów Python w klastrzach tworzonych przez UI (ogólnie dostępne)

Administratorzy przestrzeni roboczej mogą konfigurować prywatne lub uwierzytelnione repozytoria pakietów w ramach przestrzeni roboczych jako domyślne repozytoria pakietów dla notatników, zadań, potoków Lakeflow i Databricks Apps. Repozytoria Python mają zastosowanie do wszystkich tych obciążeń. Repozytoria Maven mają zastosowanie do instalacji bibliotek na poziomie klastra w Databricks Runtime w wersji 18.3 i nowszych, a rejestry npm mają zastosowanie wyłącznie do aplikacji Databricks.

Jeśli obszar roboczy jest skonfigurowany z domyślnym repozytorium pakietów, użytkownicy w obszarze roboczym mogą instalować pakiety z repozytoriów wewnętrznych bez jawnego definiowania index-url lub extra-index-url wartości dla Python lub rejestru npm. Jeśli te wartości są określone w kodzie, w notesie lub w pliku aplikacji app.yaml , mają pierwszeństwo przed domyślnymi ustawieniami obszaru roboczego. Zobacz Używanie domyślnych repozytoriów pakietów na poziomie obszaru roboczego , aby dowiedzieć się, jak działa pierwszeństwo w usłudze Databricks Apps.

Ta konfiguracja korzysta z tajemnic Databricks dla bezpiecznego przechowywania i zarządzania adresami URL oraz poświadczeniami repozytorium. Administratorzy obszaru roboczego mogą skonfigurować konfigurację przy użyciu strony ustawień administratora obszaru roboczego lub przy użyciu wstępnie zdefiniowanego zakresu wpisu tajnego oraz poleceń wpisów tajnych interfejsu wiersza polecenia usługi Databricks lub interfejsu API REST.

Konfigurowanie domyślnych zależności dla obszaru roboczego

Administratorzy obszaru roboczego mogą dodawać lub usuwać domyślne repozytoria pakietów przy użyciu strony ustawień administratora obszaru roboczego.

  1. Jako administrator obszaru roboczego zaloguj się do obszaru roboczego usługi Databricks.
  2. Kliknij swoją nazwę użytkownika na górnym pasku obszaru roboczego usługi Databricks i wybierz pozycję Ustawienia.
  3. Kliknij kartę Compute.
  4. Obok Domyślne Repozytoria Pakietów, kliknij Zarządzaj.
  5. (Opcjonalnie) Dodaj lub usuń adres URL indeksu Python, dodatkowe adresy URL indeksu, niestandardowy certyfikat SSL lub konfigurację rejestru npm.
  6. Kliknij przycisk Zapisz, aby zapisać zmiany.

Uwaga

Modyfikacje lub usunięcia wpisów tajnych są stosowane inaczej w zależności od typu obciążenia. W przypadku notesów i zadań bezserwerowych zmiany są stosowane po ponownym dołączeniu zasobu obliczeniowego do notesu lub ponownym uruchomieniu zadania. W przypadku notesów klasycznych i zadań zmiany są stosowane po ponownym uruchomieniu zasobu obliczeniowego. W przypadku potoków Lakeflow zmiany są stosowane do nowych przebiegów potoków. W przypadku usługi Databricks Apps zmiany są stosowane przy następnym kompilczeniu i wdrażaniu aplikacji.

Skonfiguruj za pomocą narzędzia CLI do obsługi sekretów lub interfejsu API REST

Aby skonfigurować domyślne repozytoria pakietów przy użyciu interfejsu wiersza polecenia lub interfejsu API REST, utwórz wstępnie zdefiniowany zakres wpisów tajnych i skonfiguruj uprawnienia dostępu, a następnie dodaj wpisy tajne repozytorium pakietów.

Wstępnie zdefiniowana nazwa tajnego zakresu

Administratorzy przestrzeni roboczej mogą ustawić domyślne adresy URL indeksu pipe, dodatkowe adresy indeksowe, certyfikat SSL, repozytoria Maven oraz konfigurację npm, wraz z tokenami uwierzytelniającymi i sekretami, w wyznaczonym zakresie tajnych pod wcześniej zdefiniowanymi kluczami:

  • Nazwa tajnego zakresu: databricks-package-management
  • Klucz tajny dla adresu URL indeksu: pip-index-url
  • Klucz tajny dla dodatkowych adresów URL indeksu: pip-extra-index-urls
  • Klucz tajny zawartości certyfikacji SSL: pip-cert
  • Tajny klucz do repozytoriów Maven: maven-repositories (instalacja biblioteki na poziomie klastra w Databricks Runtime 18.3 i nowszych)
  • Tajny klucz do konfiguracji npm: npm-rc (tylko w aplikacjach Databricks)

Utwórz zakres tajny

Zakres tajny można utworzyć przy użyciu poleceń wpisów tajnych interfejsu wiersza polecenia Databricks lub interfejsu API REST. Po utworzeniu zakresu tajnego skonfiguruj listy kontroli dostępu, aby przyznać wszystkim użytkownikom obszaru roboczego uprawnienia dostępu do odczytu. Gwarantuje to, że repozytorium pozostaje bezpieczne i nie może zostać zmienione przez poszczególnych użytkowników. Zakres tajny musi używać wstępnie zdefiniowanej nazwy zakresu tajnego o nazwie databricks-package-management.

databricks secrets create-scope databricks-package-management
databricks secrets put-acl databricks-package-management admins MANAGE
databricks secrets put-acl databricks-package-management users READ

Dodaj sekrety repozytorium pakietów

Dodaj szczegóły repozytorium pakietów przy użyciu wstępnie zdefiniowanych nazw kluczy tajnych. Repozytoria Python są stosowane w notatnikach, zadaniach, potokach Lakeflow i aplikacjach Databricks. Repozytoria Maven mają zastosowanie do instalacji bibliotek na poziomie klastra w Databricks Runtime w wersji 18.3 i nowszych, a rejestry npm mają zastosowanie wyłącznie do aplikacji Databricks.

Python

Dodaj szczegóły repozytorium pakietów języka Python przy użyciu wstępnie zdefiniowanych nazw kluczy tajnych, a wszystkie trzy pola są opcjonalne.

# Add index URL.
databricks secrets put-secret --json '{"scope": "databricks-package-management", "key": "pip-index-url", "string_value":"<index-url-value>"}'

# Add extra index URLs. If you have multiple extra index URLs, separate them using white space.
databricks secrets put-secret --json '{"scope": "databricks-package-management", "key": "pip-extra-index-urls", "string_value":"<extra-index-url-1 extra-index-url-2>"}'

# Add cert content. If you want to pip configure a custom SSL certificate, put the cert file content here.
databricks secrets put-secret --json '{"scope": "databricks-package-management", "key": "pip-cert", "string_value":"<cert-content>"}'

Uwaga

Jeśli repozytorium wymaga uwierzytelniania, użyj jednego z następujących formatów adresu URL indeksu:

  • Nazwa użytkownika i hasło: https://<username>:<password>@<index_url>
  • Tokenu: https://<token>@<index_url>

Maven

W przypadku instalacji bibliotek na poziomie klastra w środowisku Databricks Runtime w wersji 18.3 i nowszych można skonfigurować domyślne repozytoria pakietów Maven. Administratorzy przestrzeni roboczej mogą skonfigurować główne repozytorium oraz do pięciu dodatkowych repozytoriów, z opcjonalną nazwą użytkownika, hasłem i domeną. Gdy konfigurujesz repozytorium główne, usuwa się Maven Central z łańcucha resolverów.

Przechowywanie konfiguracji repozytorium jako dokument JSON pod kluczem maven-repositories tajnym:

databricks secrets put-secret databricks-package-management maven-repositories --string-value '<maven-repositories-json>'

Przekaż JSON w pojedynczych cudzysłowach, aby powłoka zachowała wewnętrzne podwójne cudzysłowy. Wartość <maven-repositories-json> ma następujący format:

{
  "primary_repository": {
    "url": "<url>",
    "username": "<username>",
    "password": "<password>",
    "realm": "<realm>"
  },
  "additional_repositories": [
    {
      "url": "<url>"
    },
    {
      "url": "<url>",
      "username": "<username>",
      "password": "<password>"
    }
  ]
}

Node.js

W przypadku usługi Databricks Apps można również skonfigurować domyślny rejestr npm, aby aplikacje instalowały pakiety Node.js, w tym pakiety prywatne, ze skonfigurowanego dla obszaru roboczego rejestru. Zapisz pełną .npmrc zawartość pliku, w tym adres URL rejestru i dowolny token uwierzytelniania, w kluczu tajnym npm-rc :

databricks secrets put-secret --json '{"scope": "databricks-package-management", "key": "npm-rc", "string_value":"registry=https://npm.example.com/\n//npm.example.com/:_authToken=<token>\n"}'

Gdy aplikacja w obszarze roboczym zostanie skompilowana, Azure Databricks zapisuje tę zawartość w pliku aplikacji.npmrc. Aby dowiedzieć się, jak działa pierwszeństwo i jak zastąpić ją dla określonej aplikacji, zobacz Node.js pakiety.

Modyfikowanie lub usuwanie sekretów repozytorium pakietów

Aby zmodyfikować sekrety repozytorium pakietów, użyj polecenia put-secret. Aby usunąć sekrety repozytorium pakietów, użyj polecenia delete-secret, jak pokazano poniżej:

# delete secret
databricks secrets delete-secret databricks-package-management pip-index-url

databricks secrets delete-secret databricks-package-management pip-extra-index-urls

databricks secrets delete-secret databricks-package-management pip-cert

# delete the Maven repositories secret
databricks secrets delete-secret databricks-package-management maven-repositories

# delete the npm configuration secret (Databricks Apps only)
databricks secrets delete-secret databricks-package-management npm-rc

# delete scope
databricks secrets delete-scope databricks-package-management