Partager via


Se connecter à des éléments Fabric à partir de votre élément de fonctions de données utilisateur Fabric

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 :

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.

Capture d’écran de l’éditeur du portail Functions avec le bouton Gérer les connexions mis en surbrillance.

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.

Capture d’écran du volet latéral avec l’onglet Connexions sélectionné. Aucune connexion n’est répertoriée.

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.

Capture d’écran du catalogue de données OneLake avec une liste de sources de données.

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.

Capture d’écran du volet latéral Connexions avec une nouvelle connexion de source de données créée.

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 ».

Capture d’écran du catalogue de données Insérer un exemple avec une liste de sources de données.

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.

Capture d’écran du bouton Publier.

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.

Capture d’écran du panneau latéral utilisé pour exécuter une 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 :

  1. 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.
  2. 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.
  3. 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.
  4. Utilisez getVariables() la méthode pour obtenir toutes les variables de la bibliothèque de variables.
  5. 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"