Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Ajoutez des fonctions définies par l’utilisateur inscrites dans Unity Catalog en tant que ressources Databricks Apps pour permettre à votre application d’exécuter des fonctions SQL et Python inscrites. Les UDFs (fonctions définies par l’utilisateur) offrent une logique métier réutilisable, des transformations de données et des opérations personnalisées qui peuvent être partagées au sein de votre organisation sous une gouvernance centralisée.
Exigences relatives aux privilèges
Pour exécuter une fonction UDF, le principal de service de l’application doit avoir le USE CATALOG privilège sur le catalogue parent, le USE SCHEMA privilège sur le schéma parent et le EXECUTE privilège sur la fonction. Lorsque vous ajoutez la ressource UDF, Azure Databricks accorde automatiquement ces privilèges au principal de service de l’application.
Pour que cet octroi automatique réussisse, l’un des éléments suivants doit être vrai pour chaque privilège :
-
Pour
USE CATALOG: tous les utilisateurs de compte ont leUSE CATALOGprivilège sur le catalogue ou vous disposez duMANAGEprivilège sur le catalogue. -
Pour
USE SCHEMA: tous les utilisateurs de compte ont leUSE SCHEMAprivilège sur le schéma ou vous disposez duMANAGEprivilège sur le schéma. -
Pour
EXECUTE: tous les utilisateurs de compte ont leEXECUTEprivilège sur la fonction ou vous disposez duMANAGEprivilège sur la fonction.
Consultez Privilèges Unity Catalog et objets sécurisables.
Ajouter une ressource de fonction définie par l’utilisateur (UDF)
Avant d’ajouter une fonction UDF en tant que ressource, passez en revue les prérequis des ressources d’application.
- Lorsque vous créez ou modifiez une application, accédez à l’étape Configurer .
- Dans la section Ressources de l’application , cliquez sur + Ajouter une ressource.
- Sélectionnez la fonction UC comme type de ressource.
- Choisissez une fonction UDF dans les fonctions disponibles dans votre espace de travail. La fonction doit déjà être inscrite dans le catalogue Unity.
- Sélectionnez le niveau d’autorisation de votre application :
-
Peut s’exécuter : Octroie à l’application l’autorisation d’exécuter la fonction UDF avec les paramètres fournis. Correspond au
EXECUTEprivilège.
-
Peut s’exécuter : Octroie à l’application l’autorisation d’exécuter la fonction UDF avec les paramètres fournis. Correspond au
- (Facultatif) Spécifiez une clé de ressource personnalisée, c’est-à-dire la façon dont vous référencez la fonction UDF dans la configuration de votre application. La clé par défaut est
function.
Variables d’environnement
Lorsque vous déployez une application avec une ressource UDF, Azure Databricks expose le nom complet de trois niveaux par le biais de variables d’environnement que vous pouvez référencer à l’aide du valueFrom champ.
Exemple de configuration :
env:
- name: UC_FUNCTION_NAME
valueFrom: function # Use your custom resource key if different
Utilisation de la fonction dans votre application :
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}")
Pour plus d’informations, consultez Utiliser des variables d’environnement pour accéder aux ressources.
Supprimer une ressource de fonction définie par l’utilisateur (UDF)
Lorsque vous supprimez une ressource UDF d’une application, le principal de service de l’application perd l’accès à la fonction. La fonction UDF elle-même reste inchangée et continue d’être disponible pour d’autres utilisateurs et applications disposant d’autorisations appropriées.
Meilleures pratiques
Tenez compte des éléments suivants lorsque vous travaillez avec des ressources UDF :
- Assurez-vous que les fonctions définies par l’utilisateur sont bien documentées avec des descriptions de paramètres claires et des types de retour.
- Gérez correctement les erreurs UDF dans votre code d’application, notamment la validation des paramètres et la gestion des exceptions.
- Testez le comportement UDF dans le contexte de l’application avant le déploiement pour vérifier les résultats attendus.
- Prenez en compte les dépendances UDF sur les tables ou sources de données sous-jacentes lors de la planification des autorisations d’application.