Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dodaj funkcje zdefiniowane przez użytkownika (UDF) zarejestrowane w katalogu Unity jako zasoby aplikacji Databricks, aby umożliwić aplikacji wykonywanie zarejestrowanych funkcji SQL i Python. Funkcje zdefiniowane przez użytkownika zapewniają powtórnie wykorzystywaną logikę biznesową, przekształcenia danych i operacje niestandardowe, które można udostępniać w całej organizacji za pomocą scentralizowanego zarządzania.
Wymagania dotyczące uprawnień
Aby uruchomić UDF, jednostka usługi aplikacji musi mieć uprawnienia USE CATALOG do katalogu nadrzędnego, uprawnienia USE SCHEMA do schematu nadrzędnego i uprawnienia EXECUTE do funkcji. Po dodaniu zasobu UDF usługa Azure Databricks automatycznie przyznaje te uprawnienia jednostce usługi aplikacji.
Aby to automatyczne udzielanie powiodło się, należy spełnić jeden z następujących warunków dla każdego uprawnienia:
-
W przypadku
USE CATALOG: wszyscy użytkownicy konta mająUSE CATALOGuprawnienia do katalogu lub maszMANAGEuprawnienia do katalogu. -
W przypadku
USE SCHEMA: wszyscy użytkownicy konta mają uprawnieniaUSE SCHEMAdo schematu lub masz uprawnieniaMANAGEdo schematu. -
W przypadku
EXECUTE: wszyscy użytkownicy konta mająEXECUTEuprawnienia do funkcji lub maszMANAGEuprawnienia do funkcji.
Zobacz uprawnienia Katalogu Unity i obiekty podlegające zabezpieczeniom.
Dodawanie zasobu funkcji zdefiniowanej przez użytkownika (UDF)
Przed dodaniem UDF jako zasobu, zapoznaj się z wymaganiami wstępnymi dotyczącymi zasobów aplikacji.
- Podczas tworzenia lub edytowania aplikacji przejdź do kroku Konfigurowanie .
- W sekcji Zasoby aplikacji kliknij pozycję + Dodaj zasób.
- Wybierz Funkcję UC jako typ zasobu.
- Wybierz funkcję UDF z dostępnych funkcji w obszarze roboczym. Funkcja musi być już zarejestrowana w Unity Catalog.
- Wybierz poziom uprawnień dla aplikacji:
-
Może wykonać: Przyznaje aplikacji uprawnienia do wykonywania UDF z podanymi parametrami. Odpowiada przywilejowi
EXECUTE.
-
Może wykonać: Przyznaje aplikacji uprawnienia do wykonywania UDF z podanymi parametrami. Odpowiada przywilejowi
- (Opcjonalnie) Określ niestandardowy klucz zasobu do odwołania się do funkcji zdefiniowanej przez użytkownika w konfiguracji aplikacji. Kluczem domyślnym jest
function.
Zmienne środowiskowe
Podczas wdrażania aplikacji z zasobem UDF usługa Azure Databricks uwidacznia pełną trójpoziomową nazwę za pomocą zmiennych środowiskowych, do których można się odwołać za pomocą pola valueFrom.
Przykładowa konfiguracja:
env:
- name: UC_FUNCTION_NAME
valueFrom: function # Use your custom resource key if different
Korzystanie z funkcji w aplikacji:
import os
from databricks.sdk import WorkspaceClient
# Access the function name
function_name = os.getenv("UC_FUNCTION_NAME")
# Initialize workspace client
w = WorkspaceClient()
# Execute the function via SQL
result = w.statement_execution.execute_statement(
warehouse_id="your_warehouse_id",
statement=f"SELECT {function_name}('parameter_value')"
)
# Process the result
print(f"Function result: {result}")
Aby uzyskać więcej informacji, zobacz Używanie zmiennych środowiskowych do uzyskiwania dostępu do zasobów.
Usuwanie zasobu funkcji zdefiniowanej przez użytkownika (UDF)
Gdy usuniesz zasób UDF z aplikacji, to jednostka usługi aplikacji utraci dostęp do funkcji. Sama funkcja UDF pozostaje niezmieniona i nadal będzie dostępna dla innych użytkowników i aplikacji, które mają odpowiednie uprawnienia.
Najlepsze rozwiązania
Podczas pracy z zasobami UDF (funkcji zdefiniowanej przez użytkownika) należy wziąć pod uwagę następujące kwestie:
- Upewnij się, że funkcje zdefiniowane przez użytkownika są dobrze udokumentowane, posiadając przejrzyste opisy parametrów i typów zwracanych.
- W kodzie aplikacji łagodnie obsługuj błędy funkcji zdefiniowanej przez użytkownika, w tym walidację parametrów i obsługę wyjątków.
- Przetestuj zachowanie funkcji UDF w kontekście aplikacji przed wdrożeniem, aby potwierdzić oczekiwane wyniki.
- Podczas planowania uprawnień aplikacji rozważ zależności funkcji zdefiniowanej przez użytkownika dla bazowych tabel lub źródeł danych.