Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Lägg till användardefinierade funktioner (UDF:er) som registrerats i Unity Catalog som Databricks Apps-resurser så att appen kan köra registrerade SQL- och Python-funktioner. UDF:er tillhandahåller återanvändbar affärslogik, datatransformeringar och anpassade åtgärder som kan delas i organisationen med centraliserad styrning.
Behörighetskrav
Om du vill köra en UDF måste appens tjänsthuvudnamn ha behörigheten USE CATALOG för den överordnade katalogen, behörigheten USE SCHEMA för det överordnade schemat och behörigheten EXECUTE för funktionen. När du lägger till UDF-resursen beviljar Azure Databricks automatiskt dessa privilegier till appens tjänsthuvudnamn.
För att den här automatiska beviljandet ska lyckas måste något av följande gälla för varje behörighet:
-
För
USE CATALOG: Antingen har alla kontoanvändare behörighetenUSE CATALOGi katalogen eller så har du behörighetenMANAGEför katalogen. -
För
USE SCHEMA: Antingen harUSE SCHEMAalla kontoanvändare behörigheten för schemat eller så har du behörighetenMANAGEför schemat. -
För
EXECUTE: Antingen har alla kontoanvändare behörighetenEXECUTEför funktionen eller så har du behörighetenMANAGEför funktionen.
Se Behörigheter och skyddsbara objekt i Unity Catalog.
Lägga till en användardefinierad funktionsresurs (UDF)
Innan du lägger till en UDF som en resurs granskar du kraven för appresursen.
- När du skapar eller redigerar en app går du till steget Konfigurera .
- I avsnittet Appresurser klickar du på + Lägg till resurs.
- Välj FUNKTIONEN UC som resurstyp.
- Välj en UDF från de tillgängliga funktionerna på din arbetsyta. Funktionen måste redan vara registrerad i Unity Catalog.
- Välj behörighetsnivå för din app:
-
Kan köras: Ger appen behörighet att köra UDF med de angivna parametrarna. Motsvarar behörigheten
EXECUTE.
-
Kan köras: Ger appen behörighet att köra UDF med de angivna parametrarna. Motsvarar behörigheten
- (Valfritt) Ange en anpassad resursnyckel, vilket är hur du refererar till UDF i appkonfigurationen. Standardnyckeln är
function.
Miljövariabler
När du distribuerar en app med en UDF-resurs exponerar Azure Databricks det fullständiga namnet på tre nivåer via miljövariabler som du kan referera till med hjälp av valueFrom fältet.
Exempelkonfiguration:
env:
- name: UC_FUNCTION_NAME
valueFrom: function # Use your custom resource key if different
Använda funktionen i ditt program:
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}")
Mer information finns i Använda miljövariabler för att komma åt resurser.
Ta bort en användardefinierad funktionsresurs (UDF)
När du tar bort en UDF-resurs från en app, förlorar appens tjänsteprincip åtkomst till funktionen. Själva UDF:n förblir oförändrad och fortsätter att vara tillgänglig för andra användare och program som har lämpliga behörigheter.
Metodtips
Tänk på följande när du arbetar med UDF-resurser:
- Kontrollera att UDF:er är väldokumenterade med tydliga parameterbeskrivningar och returtyper.
- Hantera UDF-fel korrekt i din appkod, inklusive parameterverifiering och undantagshantering.
- Testa UDF-beteendet i appkontexten före distributionen för att verifiera förväntade resultat.
- Överväg UDF-beroenden för underliggande tabeller eller datakällor när du planerar appbehörigheter.