Utiliser des bibliothèques de variables dans Microsoft Fabric

Pipeline · Notebook · Deployment Pipeline

Cas d’usage : Ingestion de données multi-environnements

1. Introduction

Dans Fabric, dès qu’on travaille avec plusieurs composants — un pipeline d’ingestion, un notebook de transformation, un pipeline de déploiement — on retrouve vite le même problème : les mêmes paramètres sont dupliqués partout.

Par exemple, le nom du compte de stockage est hardcodé dans le pipeline. La date de traitement est redéfinie dans le notebook. L’environnement est repassé manuellement à chaque promotion vers la prod.

Les bibliothèques de variables résolvent ce problème. C’est un artefact Fabric qui centralise des paramètres de configuration, accessibles depuis les composants du workspace.

💡 Une Variable Library n’est pas un Key Vault. Elle est conçue pour des paramètres de configuration, pas pour des secrets ou des credentials.
Le fil rouge : Ingestion ADLS Gen2 multi-environnements et un compte de stockage par environnement

On va construire une solution complète autour de ce cas d’usage :

  • Des fichiers de transactions arrivent chaque jour dans un ADLS Gen2.
  • Un pipeline Fabric les ingère et les dépose dans une couche Bronze.
  • Un notebook Spark les transforme et les charge dans la couche Silver.
  • Le tout doit fonctionner en dev, test et prod sans modifier le code.

2. Qu’est-ce qu’une Variable Library ?

Une Variable Library est un artefact Fabric (au même titre qu’un notebook ou un pipeline) qui stocke des paires clé/valeur de configuration.

Elle est rattachée à un workspace, versionnée dans Git, et peut être référencée par plusieurs artefacts du même workspace.

Ce qu’on peut y stocker
  • Strings : noms de comptes, chemins, environnements
  • Nombres : seuils, tailles de batch
  • Booléens : feature flags
  • Expressions dynamiques : @{utcNow()}, @{formatDateTime(…)}
  • Connexions (Preview) : paramétrer dynamiquement une connexion SQL, Snowflake, ADLS… via le GUID de la connexion
  • Items (Preview) : référencer un artefact Fabric (Lakehouse, Warehouse…) via son ID
Ce qu’on ne doit PAS y mettre
  • Mots de passe, clés SAS, tokens → utiliser Key Vault + Linked Service
  • Secrets Azure AD → utiliser Managed Identity
Comparaison avec les alternatives
MécanismePortéeLimite
Pipeline Parameters1 pipelineÀ redéfinir dans chaque pipeline
Notebook Widgets1 notebookNon partageable entre artefacts
Variable LibraryTout le workspacePas pour les secrets
Key Vault + Linked ServiceTout le workspaceSecrets uniquement, plus complexe

3. Création de la Variable Library

3.1 Créer l’artefact

Dans le workspace Fabric :

  • Cliquer sur + Nouveau → Variable Library
  • Nommer l’artefact : CONFIG_ADLS
  • Valider la création

3.2 Définir les variables

Une fois dans l’éditeur, ajouter les variables suivantes :

VariableTypeValeur (dev)Description
storage_accountStringdevfinancesaNom du compte ADLS
container_pathStringraw/transactions/2024Chemin du conteneur
environmentStringdevEnvironnement actif

Dès la création de la bibliothèque de variables, il est possible de définir des Alternative value sets pour anticiper les différents environnements. Dans l’exemple, le Default value set (actif) contient les valeurs dev (devadls, raw/transactions/2024, dev), et un second set Prod est déjà prêt avec ses propres valeurs (prodadls, raw/transactions/2026, prod).

Ces sets ne sont pas utilisés immédiatement — ils servent au moment du déploiement. Quand la Variable Library est promue vers le stage Prod via le Deployment Pipeline, il suffira de définir le set Prod comme actif dans ce stage. Tous les artefacts qui référencent CONFIG_ADLS liront automatiquement les valeurs prod, sans aucune modification de code.

3.3 Publier

Cliquer sur Publier pour rendre la librairie disponible dans le workspace. Sans publication, les artefacts ne peuvent pas y accéder.

4. Utilisation dans un Pipeline

4.1 Référencer la Variable Library

Dans le pipeline P_INGESTION_DATA_ADLS :

  • Ouvrir les paramètres du pipeline (Settings)
  • Section Variable Library → sélectionner CONFIG_ADLS
  • Choisir un alias : cfg (optionnel mais recommandé pour la lisibilité)

4.2 Utiliser les variables dans une activité

Dans une activité Copy Data, les variables sont appelées via la syntaxe suivante :

pipeline().libraryVariables.storage_account pipeline().libraryVariables.container_path pipeline().libraryVariables.environment  

Exemple concret — Construction de l’URL source via la Variable Library :

@concat(‘https://’,pipeline().libraryVariables.storage_account,’.dfs.core.windows.net’)  
💡 Si la Variable Library est modifiée et republished, le pipeline utilisera automatiquement les nouvelles valeurs sans aucune modification de son côté.

5. Utilisation dans un Notebook

5.1 Lire les variables

Dans un notebook Spark (PySpark), les variables sont accessibles via NotebookUtils, la librairie native Fabric disponible sans installation dans tout notebook :

# NotebookUtils est la librairie native Fabric — aucune installation requise. import notebookutils  

# Charger la Variable Library vlib = notebookutils.variableLibrary.getLibrary(« CONFIG_ADLS »)  

6. Utilisation dans un Deployment Pipeline

6.1 Le problème sans bibliothèques de variables

Sans bibliothèques de variables, promouvoir un artefact de dev vers prod implique de modifier manuellement chaque paramètre dans chaque pipeline et notebook. C’est source d’erreurs et chronophage.

6.2 Déployer les artefacts vers la Prod

Dans le Deployment Pipeline Fabric, déployer l’ensemble des artefacts du workspace Dev vers le workspace Prod :

  • Stage Dev → workspace Dev ADLS
  • Stage Prod → workspace Prod ADLS

La Variable Library CONFIG_ADLS est déployée comme n’importe quel autre artefact — pipeline, notebook, lakehouse.

6.3 Activer le bon Value Set en Prod

Une fois le déploiement terminé, ouvrir la Variable Library CONFIG_ADLS dans le workspace Prod et :

  • Cliquer sur les … du set Prod
  • Sélectionner Set as active
  • Sauvegarder

Le set Prod devient actif. Tous les artefacts du workspace Prod liront désormais prodadls, raw/transactions/2026 et prod automatiquement.

6.4 Résultat

  • Aucune modification du code du pipeline ou du notebook.
  • Un seul clic pour basculer les valeurs d’environnement.
  • Si les valeurs prod changent, il suffit de mettre à jour le set Prod dans la Variable Library — sans redéployer.
  •  
💡 Le Value Set actif est propre à chaque workspace. Le set Dev reste actif en dev, le set Prod en prod — ils sont totalement indépendants.

7. Bonnes pratiques

Nommage
  • Utiliser un préfixe métier : config_finance, config_marketing
  • Respecter une convention de nommage pour éviter les incohérences entre variables (Par exemple : snakecase : storage_account)
  • Être explicite : container_path_raw plutôt que path
Organisation
  • Une Variable Library par domaine métier, pas une globale fourre-tout
  • Documenter chaque variable avec une description dans l’éditeur Fabric
  • Versionner la Variable Library dans Git comme tout autre artefact
Sécurité
  • Jamais de credentials, tokens ou clés SAS dans une Variable Library
  • Pour les secrets : Key Vault + Linked Service Fabric
  • Restreindre les droits d’édition de la Variable Library aux Data Engineers référents
Piège classique
⚠️  Oublier de publier après une modification. Les artefacts lisent la dernière version publiée, pas la version en cours d’édition. Une modification non publiée n’a aucun effet à l’exécution.

8. Conclusion

Les bibliothèques de variables apportent une réponse simple à un problème courant dans les projets Fabric multi-environnements : la dispersion des paramètres de configuration.

La mise en place est rapide — moins d’une heure pour un workspace existant. Le retour sur investissement est immédiat dès qu’on commence à gérer plusieurs environnements.


Chaque mois, recevez des astuces pratiques et nouveautés sur Power BI, Fabric, Power Platform et plus encore — plus une invitation à nos apéros gratuits, directement dans votre boîte mail. Inscrivez-vous

🔗 Retour aux articles