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.
Les fonctions de données utilisateur Fabric fournissent des connexions aux sources et éléments de données fabric pris en charge à l’aide de la fonctionnalité Gérer les connexions dans le portail Fabric. Cette fonctionnalité vous permet de vous connecter à vos sources de données Fabric sans avoir à créer de chaînes de connexion ni gérer des informations d’identification d’accès. Pour les éléments de structure qui ne sont pas une source de données, vous pouvez vous connecter en toute sécurité à ces éléments au sein d’une fonction.
Dans cet article, vous allez apprendre à :
- Créez une connexion pour votre élément de fonctions de données utilisateur.
- Utilisez votre nouvelle connexion dans votre code de fonction.
- Modifiez ou supprimez votre connexion de données.
Éléments pris en charge dans les fonctions de données utilisateur Fabric
Les éléments suivants sont actuellement pris en charge pour les fonctions de données utilisateur Fabric :
- Bases de données SQL Fabric pour les opérations de lecture/écriture
- Entrepôts de structure pour les opérations de lecture/écriture
- Fabric lakehouses pour les opérations de lecture et écriture des fichiers de Lakehouse et les opérations en lecture seule du point de terminaison SQL.
- Bases de données mises en miroir de structure pour les opérations en lecture seule
- Bibliothèque de variables fabric pour définir les paramètres de configuration en tant que variables. En savoir plus.
Créer une connexion de données pour votre élément de fonctions de données utilisateur
Toutes les connexions de données que vous ajoutez sont associées à votre élément de fonctions de données utilisateur et peuvent être référencées dans le code de l’une de vos fonctions. Pour suivre ce guide, vous avez besoin d’un élément de fonctions de données utilisateur Fabric existant et d’une source de données Fabric existante.
1. Accéder à la fonctionnalité Gérer les connexions à partir du portail Functions
En mode Développer, recherchez et sélectionnez Gérer les connexions dans le ruban de l’éditeur du portail Functions.
Le volet qui s’ouvre contient les connexions de données que vous avez créées. Sélectionnez Ajouter une connexion de données pour créer une connexion.
2. Sélectionner votre connexion de données dans le catalogue OneLake
Lorsque vous sélectionnez Ajouter une connexion de données, le catalogue OneLake s’ouvre avec une liste de toutes les sources de données auxquelles votre compte d’utilisateur a accès. La liste est filtrée pour inclure uniquement les sources de données prises en charge, dont certaines peuvent se trouver dans d’autres espaces de travail.
Choisissez votre source de données, puis sélectionnez Se connecter.
Remarque
Si vous ne trouvez pas la source de données que vous recherchez, vérifiez que vous disposez des autorisations appropriées pour vous y connecter. Vous pouvez également vous assurer que vous utilisez une source de données prise en charge, comme indiqué au début de cet article.
Une fois créée, la nouvelle connexion à la source de données sélectionnée s’affiche dans le volet latéral de l’onglet Connexions. Lorsque vous voyez la connexion, notez le champ Alias qui a été généré pour celle-ci. Vous avez besoin de cet alias pour référencer la connexion à partir de n’importe quelle fonction dans votre élément de fonctions de données utilisateur.
3. Utiliser votre alias de connexion dans votre code de fonction
Une fois que vous êtes de retour dans l’éditeur du portail, vous devez ajouter l’alias de la connexion que vous avez créée dans l’onglet Manage Connections à votre code. Cet alias est créé automatiquement en fonction du nom de l’élément Fabric auquel vous vous connectez.
Dans ce cas, nous allons utiliser un exemple de code appelé « Lire des données à partir d’une table dans SQL Database ». Vous trouverez cet exemple en cliquant sur l’onglet Modifier, puis en cliquant sur le bouton « Insérer un exemple » et en accédant à « SQL Database ».
Voici l’exemple de code qui a été inséré :
@udf.connection(argName="sqlDB",alias="<alias for sql database>")
@udf.function()
def read_from_sql_db(sqlDB: fn.FabricSqlConnection)-> list:
# Replace with the query you want to run
query = "SELECT * FROM (VALUES ('John Smith', 31), ('Kayla Jones', 33)) AS Employee(EmpName, DepID);"
# Establish a connection to the SQL database
connection = sqlDB.connect()
cursor = connection.cursor()
query.capitalize()
# Execute the query
cursor.execute(query)
# Fetch all results
results = []
for row in cursor.fetchall():
results.append(row)
# Close the connection
cursor.close()
connection.close()
return results
Remarque
Bien que cet exemple se connecte à une base de données SQL, il n’a pas besoin d’un schéma ou de données dans votre base de données à exécuter.
Pour utiliser la connexion de données que vous avez créée, modifiez la ligne suivante dans cet exemple : @udf.connection(argName="sqlDB",alias="<alias for sql database>") en remplaçant la valeur de alias par celle que vous avez obtenue à partir du menu Manage Connections. Le code suivant montre cet exemple avec la valeur ContosoSalesDat :
@udf.connection(argName="sqlDB",alias="ContosoSalesDat")
@udf.function()
def read_from_sql_db(sqlDB: fn.FabricSqlConnection)-> list:
[...]
Après avoir modifié le code, vous pouvez tester vos modifications à l’aide de la fonctionnalité Test en mode Développement. Une fois que vous êtes prêt, vous pouvez publier votre fonction à l’aide du bouton Publier dans la barre d’outils. Cette opération peut prendre quelques minutes.
Une fois la publication terminée, vous pouvez exécuter votre fonction en pointant sur son nom dans la liste de l’Explorateur de fonctions, puis en cliquant sur le bouton Exécuter dans le volet latéral. Le panneau inférieur « Sortie » indique le résultat de l’exécution de la fonction.
Et c’est tout ce dont vous avez besoin pour vous connecter à une source de données à partir de vos fonctions de données utilisateur Fabric.
Obtenir des variables à partir de bibliothèques de variables Fabric
Une bibliothèque de variables Fabric dans Microsoft Fabric est un référentiel centralisé pour la gestion des variables qui peuvent être utilisées dans différents éléments au sein d’un espace de travail. Il permet aux développeurs de personnaliser et de partager efficacement les configurations d’éléments. Procédez comme suit pour utiliser des bibliothèques de variables dans vos fonctions :
- Ajoutez une connexion à une bibliothèque de variables à l’aide de Gérer les connexions et obtenez l’alias de l’élément de bibliothèque de variables.
- Ajoutez un décorateur de connexion pour l’élément de bibliothèque de variables. Par exemple,
@udf.connection(argName="varLib", alias="<My Variable Library Alias>")et remplacez l’alias par la connexion nouvellement ajoutée pour l’élément de bibliothèque de variables. - Dans la définition de fonction, incluez un argument de type
fn.FabricVariablesClient. Ce client fournit des méthodes dont vous avez besoin pour travailler avec l’élément de bibliothèque de variables. - Utilisez
getVariables()la méthode pour obtenir toutes les variables de la bibliothèque de variables. - Pour lire les valeurs des variables utilisées, soit
["variable-name"].get("variable-name").
Exemple Dans cet exemple, nous simulons un scénario de configuration pour une production et un environnement de développement. Cette fonction définit un chemin de stockage en fonction de l’environnement sélectionné à l’aide d’une valeur récupérée à partir de la bibliothèque de variables. La bibliothèque de variables contient une variable appelée ENV où les utilisateurs peuvent définir une valeur de dev ou prod.
@udf.connection(argName="varLib", alias="<My Variable Library Alias>")
@udf.function()
def get_storage_path(dataset: str, varLib: fn.FabricVariablesClient) -> str:
"""
Description: Determine storage path for a dataset based on environment configuration from Variable Library.
Args:
dataset_name (str): Name of the dataset to store.
varLib (fn.FabricVariablesClient): Fabric Variable Library connection.
Returns:
str: Full storage path for the dataset.
"""
# Retrieve variables from Variable Library
variables = varLib.getVariables()
# Get environment and base paths
env = variables.get("ENV")
dev_path = variables.get("DEV_FILE_PATH")
prod_path = variables.get("PROD_FILE_PATH")
# Apply environment-specific logic
if env.lower() == "dev":
return f"{dev_path}{dataset}/"
elif env.lower() == "prod":
return f"{prod_path}{dataset}/"
else:
return f"incorrect settings define for ENV variable"