Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Voeg door de gebruiker gedefinieerde functies (UDF's) toe die zijn geregistreerd in Unity Catalog als Databricks Apps-resources om uw app in staat te stellen geregistreerde SQL- en Python-functies uit te voeren. UDF's bieden herbruikbare bedrijfslogica, gegevenstransformaties en aangepaste bewerkingen die in uw organisatie kunnen worden gedeeld met gecentraliseerd beheer.
Vereisten voor bevoegdheden
Als u een UDF wilt uitvoeren, moet de service-principal van de app de USE CATALOG bevoegdheid hebben voor de bovenliggende catalogus, de USE SCHEMA bevoegdheid voor het bovenliggende schema en de EXECUTE bevoegdheid voor de functie. Wanneer u de UDF-resource toevoegt, verleent Azure Databricks deze bevoegdheden automatisch aan de service-principal van de app.
Voor deze automatische toekenning om te slagen, moet een van de volgende voorwaarden gelden voor elke bevoegdheid:
-
Voor
USE CATALOG: alle accountgebruikers hebben deUSE CATALOGbevoegdheid voor de catalogus of u hebt deMANAGEbevoegdheid voor de catalogus. -
Voor
USE SCHEMA: alle accountgebruikers hebben deUSE SCHEMAbevoegdheid voor het schema of u hebt deMANAGEbevoegdheid voor het schema. -
Voor
EXECUTE: alle accountgebruikers hebben deEXECUTEbevoegdheid voor de functie of u hebt deMANAGEbevoegdheid voor de functie.
Zie Unity Catalog-bevoegdheden en beveiligbare objecten.
Een door de gebruiker gedefinieerde functieresource (UDF) toevoegen
Voordat u een UDF als resource toevoegt, controleert u de vereisten voor de app-resource.
- Wanneer u een app maakt of bewerkt, gaat u naar de stap Configureren .
- Klik in de sectie App-resources op + Resource toevoegen.
- Selecteer de functie UC als het resourcetype.
- Kies een UDF uit de beschikbare functies in uw werkruimte. De functie moet al zijn geregistreerd in Unity Catalog.
- Selecteer het machtigingsniveau voor uw app:
-
Kan het volgende uitvoeren: Verleent de app toestemming om de UDF uit te voeren met de opgegeven parameters. Komt overeen met de
EXECUTEbevoegdheid.
-
Kan het volgende uitvoeren: Verleent de app toestemming om de UDF uit te voeren met de opgegeven parameters. Komt overeen met de
- (Optioneel) Geef een aangepaste resourcesleutel op, zoals u verwijst naar de UDF in uw app-configuratie. De standaardsleutel is
function.
Omgevingsvariabelen
Wanneer u een app met een UDF-resource implementeert, maakt Azure Databricks de volledige naam van drie niveaus beschikbaar via omgevingsvariabelen waarnaar u kunt verwijzen met behulp van het valueFrom veld.
Voorbeeldconfiguratie:
env:
- name: UC_FUNCTION_NAME
valueFrom: function # Use your custom resource key if different
De functie in uw toepassing gebruiken:
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}")
Zie Omgevingsvariabelen gebruiken voor toegang tot resources voor meer informatie.
Een door de gebruiker gedefinieerde functieresource (UDF) verwijderen
Wanneer u een UDF-resource uit een app verwijdert, verliest de service-principal van de app de toegang tot de functie. De UDF zelf blijft ongewijzigd en blijft beschikbaar voor andere gebruikers en toepassingen met de juiste machtigingen.
Beste praktijken
Houd rekening met het volgende wanneer u met UDF-resources werkt:
- Zorg ervoor dat UDF's goed zijn gedocumenteerd met duidelijke parameterbeschrijvingen en retourtypen.
- UDF-fouten correct verwerken in uw app-code, inclusief parametervalidatie en afhandeling van uitzonderingen.
- Test UDF-gedrag in de app-omgeving voordat implementatie om de verwachte resultaten te verifiëren.
- Overweeg UDF-afhankelijkheden van onderliggende tabellen of gegevensbronnen bij het plannen van app-machtigingen.