Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Fügen Sie benutzerdefinierte Funktionen (USER-Defined Functions, UDFs) hinzu, die im Unity-Katalog als Databricks-Apps-Ressourcen registriert sind, damit Ihre App registrierte SQL- und Python-Funktionen ausführen kann. UDFs bieten wiederverwendbare Geschäftslogik, Datentransformationen und benutzerdefinierte Vorgänge, die in Ihrer Organisation mit zentraler Governance geteilt werden können.
Berechtigungsanforderungen
Zum Ausführen einer UDF muss der Dienstprinzipal der App über die USE CATALOG Berechtigung für den übergeordneten Katalog, die USE SCHEMA Berechtigung für das übergeordnete Schema und die EXECUTE Berechtigung für die Funktion verfügen. Wenn Sie die UDF-Ressource hinzufügen, gewährt Azure Databricks automatisch diese Berechtigungen dem Dienstprinzipal der App.
Damit diese automatische Gewährung erfolgreich ausgeführt werden kann, muss für jede Berechtigung eine der folgenden Bedingungen erfüllt sein:
- Entweder haben alle Kontobenutzer das
USE CATALOG-Privileg im Katalog, oder Sie haben das -Privileg im Katalog. -
Für
USE SCHEMA: Entweder haben alle Kontobenutzer dasUSE SCHEMA-Privileg für das Schema, oder Sie haben dasMANAGE-Privileg für das Schema. - Für
EXECUTE: Entweder haben alle Kontenbenutzer dasEXECUTEPrivileg für die Funktion, oder Sie haben dasMANAGEPrivileg für die Funktion.
Weitere Informationen finden Sie unter Unity Catalog-Berechtigungen und sicherungsfähige Objekte.
Hinzufügen einer benutzerdefinierten Funktion (UDF)-Ressource
Bevor Sie eine UDF als Ressource hinzufügen, überprüfen Sie die Voraussetzungen für die App-Ressource.
- Wenn Sie eine App erstellen oder bearbeiten, navigieren Sie zum Schritt "Konfigurieren" .
- Klicken Sie im Abschnitt "App-Ressourcen " auf +Ressource hinzufügen.
- Wählen Sie UC-Funktion als Ressourcentyp aus.
- Wählen Sie eine UDF aus den verfügbaren Funktionen in Ihrem Arbeitsbereich aus. Die Funktion muss bereits im Unity-Katalog registriert sein.
- Wählen Sie die Berechtigungsstufe für Ihre App aus:
-
Kann ausgeführt werden: Erteilt der App die Berechtigung zum Ausführen der UDF mit den bereitgestellten Parametern. Entspricht der
EXECUTEBerechtigung.
-
Kann ausgeführt werden: Erteilt der App die Berechtigung zum Ausführen der UDF mit den bereitgestellten Parametern. Entspricht der
- (Optional) Geben Sie einen benutzerdefinierten Ressourcenschlüssel an, mit dem Sie in Ihrer App-Konfiguration auf die UDF verweisen. Der Standardwert ist
function.
Umgebungsvariablen
Wenn Sie eine App mit einer UDF-Ressource bereitstellen, macht Azure Databricks den vollständigen Namen auf drei Ebenen über Umgebungsvariablen verfügbar, auf die Sie mithilfe des valueFrom Felds verweisen können.
Beispielkonfiguration:
env:
- name: UC_FUNCTION_NAME
valueFrom: function # Use your custom resource key if different
Verwenden der Funktion in Ihrer Anwendung:
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}")
Weitere Informationen finden Sie unter Verwenden von Umgebungsvariablen für den Zugriff auf Ressourcen.
Entfernen einer benutzerdefinierten Funktion (UDF)-Ressource
Wenn Sie eine UDF-Ressource aus einer App entfernen, verliert der Dienstprinzipal der App den Zugriff auf die Funktion. Die UDF selbst bleibt unverändert und ist weiterhin für andere Benutzer und Anwendungen verfügbar, die über entsprechende Berechtigungen verfügen.
Bewährte Methoden
Berücksichtigen Sie folgendes, wenn Sie mit UDF-Ressourcen arbeiten:
- Stellen Sie sicher, dass UDFs mit klaren Parameterbeschreibungen und Rückgabetypen gut dokumentiert sind.
- Behandeln Sie UDF-Fehler ordnungsgemäß im App-Code, einschließlich Parameterüberprüfung und Ausnahmebehandlung.
- Testen Sie das UDF-Verhalten im App-Kontext vor der Bereitstellung, um die erwarteten Ergebnisse zu überprüfen.
- Berücksichtigen Sie UDF-Abhängigkeiten von zugrunde liegenden Tabellen oder Datenquellen beim Planen von App-Berechtigungen.