Udostępnij przez


Dodaj zasób połączenia Unity Catalog do aplikacji Databricks

Dodaj połączenia Katalogu Unity jako zasoby aplikacji Databricks, aby umożliwić bezpieczny dostęp do usług zewnętrznych i źródeł danych. Połączenia Unity Catalog zarządzają poświadczeniami i szczegółami uwierzytelniania, więc nie trzeba zakodować poświadczeń twardo w kodzie aplikacji.

Dodaj zasób połączenia Unity Catalog

Przed dodaniem połączenia Unity Catalog jako zasobu, zapoznaj się z wymaganiami wstępnymi dotyczącymi zasobów aplikacji.

  1. Podczas tworzenia lub edytowania aplikacji przejdź do kroku Konfigurowanie .
  2. W sekcji Zasoby aplikacji kliknij pozycję + Dodaj zasób.
  3. Wybierz Połączenie UC jako typ zasobu.
  4. Wybierz połączenie Katalogu Unity z listy dostępnych połączeń w obszarze roboczym.
  5. Wybierz poziom uprawnień dla aplikacji:
    • Użyj połączenia: Przyznaje aplikacji uprawnienia do uzyskiwania dostępu do usług zewnętrznych za pomocą połączenia. Odpowiada przywilejowi USE CONNECTION .
  6. (Opcjonalnie) Określ niestandardowy klucz zasobu, w jaki sposób odwołujesz się do połączenia w konfiguracji aplikacji. Kluczem domyślnym jest connection.

Kiedy dodajesz zasób połączenia w Unity Catalog:

  • Usługa Azure Databricks przyznaje jednostce usługiUSE CONNECTION aplikacji uprawnienie do wybranego połączenia.
  • Aplikacja może uzyskiwać dostęp do usług zewnętrznych bez bezpośredniego zarządzania poświadczeniami.
  • Poświadczenia połączenia są bezpiecznie zarządzane przez Unity Catalog i nie są ujawniane w kodzie aplikacji.

Zmienne środowiskowe

Podczas wdrażania aplikacji z zasobem połączenia Unity Catalog, usługa Azure Databricks ujawnia nazwę połączenia poprzez zmienne środowiskowe, do których można się odwołać za pomocą pola valueFrom.

Przykładowa konfiguracja:

env:
  - name: UC_CONNECTION_NAME
    valueFrom: connection # Use your custom resource key if different

Za pomocą połączenia w aplikacji:

import os
from databricks.sdk import WorkspaceClient
from databricks.sdk.service.serving import ExternalFunctionRequestHttpMethod

# Access the connection name
connection_name = os.getenv("UC_CONNECTION_NAME")

# Initialize workspace client
w = WorkspaceClient()

# Make HTTP request through the connection
response = w.serving_endpoints.http_request(
    conn=connection_name,
    method=ExternalFunctionRequestHttpMethod.POST,
    path="/api/v1/resource",
    json={"key": "value"},
    headers={"extra_header_key": "extra_header_value"},
)

# Process the response
print(response)

Aby uzyskać więcej informacji, zobacz Używanie zmiennych środowiskowych do uzyskiwania dostępu do zasobów.

Usuń zasób połączenia Unity Catalog

Gdy usuniesz zasób połączenia Unity Catalog z aplikacji, pryncypał usługi utraci dostęp do połączenia. Samo połączenie pozostaje niezmienione i nadal będzie dostępne dla innych użytkowników i aplikacji, które mają odpowiednie uprawnienia.

Najlepsze rozwiązania

Podczas pracy z zasobami połączeń Unity Catalogu należy wziąć pod uwagę następujące kwestie:

  • Zaimplementuj logikę obsługi błędów i ponawiania prób dla błędów połączenia i problemów z siecią.
  • Monitoruj czasy odpowiedzi interfejsu API i opóźnienie połączenia, szczególnie w przypadku żądań między regionami lub między chmurami.
  • Podczas wysyłania żądań do usług zewnętrznych należy wziąć pod uwagę koszty ruchu wychodzącego danych, szczególnie w przypadku dużych pakietów danych lub wywołań interfejsu API o dużej ilości.
  • Regularnie przeglądaj i zmieniaj poświadczenia połączenia zgodnie z zasadami zabezpieczeń.
  • Zweryfikuj odpowiedzi interfejsu API i zaimplementuj odpowiednie wartości limitu czasu dla wywołań usług zewnętrznych.