Paramètres de Data Factory dans Microsoft Fabric

Cet article vous montre comment utiliser des paramètres dans vos pipelines Data Factory dans Fabric afin de créer des flux de travail flexibles et réutilisables.

Utiliser des paramètres, des expressions et des fonctions dans les pipelines Data Factory

Cette section vous guide tout au long des concepts de base de la création de pipelines paramétrables dans Data Factory pour Fabric, en utilisant des exemples clairs. Les paramètres et les expressions dynamiques gagnent du temps et vous permettent de créer des solutions d’extraction, de transformation, de chargement (ETL) flexibles ou d’extraction, de chargement, de transformation (ELT). Ils réduisent le codage en dur et vous permettent de réutiliser des objets et des processus, ce qui facilite la maintenance des pipelines et vous permet d’expédier de nouvelles fonctionnalités plus rapidement.

Concepts des paramètres et des expressions

Vous pouvez utiliser des paramètres pour transmettre des valeurs externes à vos pipelines. Après avoir défini un paramètre, sa valeur reste la même tout au long de l’exécution. Les paramètres vous permettent de réutiliser le même pipeline avec des valeurs différentes à chaque fois. Vous pouvez utiliser des paramètres propres ou intérieurs, avec des valeurs fixes ou calculées lors de l’exécution du pipeline.

Les expressions peuvent aller n’importe où dans une valeur de chaîne et retourner toujours une autre valeur de chaîne. Par exemple, si vous utilisez @password, le pipeline traite le mot de passe comme un paramètre. Si la valeur est une expression, supprimez le @ pour obtenir le contenu réel. Pour utiliser une chaîne commençant par @, échappez-la en tapant @@. Les exemples suivants montrent comment cela fonctionne dans la pratique.

Valeur du paramètre Result
"parameters" Les caractères « parameters » sont retournés.
"parameters[1]" Les caractères « parameters[1] » sont retournés.
"@@" Une chaîne de 1 caractère contenant \«\@\» est retournée.
" @" Une chaîne de 2 caractères contenant \«  \@  \» est retournée.

Les expressions peuvent également apparaître à l’intérieur de chaînes via l’interpolation de chaîne, où vous encapsulez des expressions @{ ... }. Par exemple, la chaîne suivante inclut des valeurs de paramètre et des valeurs de chaîne littérale :

« Prénom : @{pipeline().parameters.firstName} Nom : @{pipeline().parameters.lastName} »

L’interpolation de chaîne retourne toujours une chaîne. Par exemple, si vous définissez myNumber en tant que :42myStringfoo

Valeur du paramètre Result
"@pipeline().parameters.myString" Retourne foo en tant que chaîne.
"@{pipeline().parameters.myString}" Retourne foo en tant que chaîne.
"@pipeline().parameters.myNumber" Retourne 42 en tant que nombre.
"@{pipeline().parameters.myNumber}" Retourne 42 en tant que chaîne.
La réponse est : @{pipeline().parameters.myNumber} Retourne la chaîne Answer is: 42.
"@concat('La réponse est : ', string(pipeline().parameters.myNumber))" Retourne la chaîne Answer is: 42
La réponse est : @@{pipeline().parameters.myNumber} Retourne la chaîne Answer is: @{pipeline().parameters.myNumber}.

Exemples d’expressions de paramètre

Créer et utiliser des paramètres

Pour créer des paramètres, sélectionnez l’arrière-plan du canevas de l’éditeur de pipeline, puis sélectionnez l’onglet Paramètres de la fenêtre de propriétés en bas. Sélectionnez + Nouveau pour ajouter un paramètre au pipeline, puis attribuez-lui un nom, un type de données et une valeur par défaut :

Capture d’écran montrant l’éditeur Paramètres sur les pages de propriétés d’un pipeline.

Vous pouvez ensuite utiliser le paramètre n’importe où votre pipeline prend en charge le contenu dynamique. Dans cet exemple, le paramètre fournit dynamiquement le nom d'un magasin de données Lakehouse dans l'onglet Source de la page de propriétés d'une activité de copie.

Capture d’écran montrant l’onglet Source des pages de propriétés d’une activité de copie, mettant en évidence l’option Ajouter du contenu dynamique.

La fenêtre Ajouter du contenu dynamique s’ouvre. Utilisez-le pour spécifier n’importe quel type de contenu dynamique, y compris les paramètres, les variables système, les fonctions ou les variables de pipeline. Dans cet exemple, vous sélectionnez le paramètre que vous avez défini précédemment, et la fenêtre de contenu dynamique remplit automatiquement l’expression appropriée pour la référencer.

Capture d’écran montrant la fenêtre Ajouter du contenu dynamique avec un paramètre de pipeline sélectionné.

Paramétrer les connexions

Pour paramétrer les connexions dans les pipelines, utilisez l’identificateur global unique (GUID) de la connexion que vous souhaitez remplacer dynamiquement.

  1. Avant de modifier dynamiquement la connexion dans votre pipeline, obtenez le GUID de la connexion que vous souhaitez définir.
  2. Accédez à Paramètres>Pour gérer les connexions et les passerelles.
  3. Recherchez le nom de la connexion et sélectionnez les points de suspension (...) à côté de celui-ci.
  4. Sélectionnez Paramètres et copiez l’ID de connexion.
  5. Collez le GUID dans un paramètre de chaîne et référencez ce paramètre dans votre expression dynamique.

Exemple d’expression complexe

L’expression suivante fait référence à un sous-champ profond de sortie d’activité. Pour référencer un paramètre de pipeline qui correspond à un sous-champ, utilisez la syntaxe [] au lieu de l’opérateur point (.), comme avec subfield1 et subfield2.

@activity('*activityName*').output.*subfield1*.*subfield2*[pipeline().parameters.*subfield3*].*subfield4*

Éditeur de contenu dynamique

L’éditeur de contenu dynamique échappe automatiquement les caractères dans votre contenu lorsque vous avez terminé la modification. Par exemple, le contenu suivant dans l’éditeur de contenu est une interpolation de chaîne avec une fonction d’expression :

@{toUpper('myData')}

L’éditeur de contenu dynamique convertit le contenu précédent en expression suivante :

MYDATA

Utiliser des fonctions et des variables dans des expressions

Vous pouvez appeler des fonctions et utiliser des variables dans des expressions. Les sections suivantes fournissent des informations sur les fonctions qui peut être utilisées dans une expression.

Variables d’étendue de pipeline

Vous pouvez référencer ces variables système n’importe où dans le json du pipeline.

Nom de la variable Description
@pipeline().DataFactory Nom de l’espace de travail où l’exécution du pipeline est en cours d’exécution
@pipeline().Pipeline Nom de la chaîne de traitement
@pipeline().RunId ID de l’exécution du pipeline spécifique
@pipeline().TriggerId ID du déclencheur qui a appelé le pipeline
@pipeline().TriggerName Nom du déclencheur qui a appelé le pipeline
@pipeline().TriggerTime Heure de l’exécution du déclencheur qui a appelé le pipeline. Cette valeur est l’heure à laquelle le déclencheur a réellement été déclenché pour appeler l’exécution du pipeline et peut différer légèrement de l’heure planifiée du déclencheur.
@pipeline().GroupId Identifiant du groupe auquel appartient l’exécution du pipeline. Dans Microsoft Fabric, un groupe est une collection de ressources associées que vous gérez ensemble. Les groupes organisent et contrôlent l’accès aux ressources, ce qui facilite la gestion des autorisations et la surveillance des activités sur plusieurs pipelines.
@pipeline()?.TriggeredByPipelineName Nom du pipeline qui déclenche l’exécution du pipeline. S’applique lorsqu’une activité d’exécution de pipeline déclenche l’exécution du pipeline. Prend la valeur Null dans d’autres cas. Notez le point d’interrogation après @pipeline().
@pipeline()?.TriggeredByPipelineRunId ID d’exécution du pipeline qui déclenche l’exécution du pipeline. S’applique lorsqu’une activité d’exécution de pipeline déclenche l’exécution du pipeline. Prend la valeur Null dans d’autres cas. Notez le point d’interrogation après @pipeline().

Note

Les variables système de date/heure liées au déclencheur (dans les étendues de pipeline et de déclencheur) retournent des dates UTC (Temps universel coordonné) au format ISO 8601, par exemple 2017-06-01T22:20:00.4061448Z.

Fonctions de chaîne

Pour utiliser des chaînes, utilisez ces fonctions de chaîne et certaines fonctions de collection. Les fonctions de chaîne sont uniquement utilisables sur des chaînes.

Fonction de chaîne Task
concat Combine au moins deux chaînes et retourne la chaîne combinée.
endsWith Vérifier si une chaîne se termine par la sous-chaîne spécifiée.
guid Générer un identificateur global unique (GUID) sous forme de chaîne.
indexOf Renvoyer la position de départ d’une sous-chaîne.
lastIndexOf Retourne la position de départ de la dernière occurrence d’une sous-chaîne.
replace Remplacer une sous-chaîne par la chaîne spécifiée et renvoyer la chaîne mise à jour.
split Retourne un tableau qui contient des sous-chaînes, séparées par des virgules, extraites à partir d’une chaîne plus grande sur la base d’un caractère délimiteur spécifié dans la chaîne d’origine.
startsWith Vérifie si une chaîne commence par une sous-chaîne spécifique.
substring Renvoyer les caractères d’une chaîne, en commençant à partir de la position spécifiée.
toLower Retourne une chaîne en minuscules.
toUpper Retourne une chaîne en majuscules.
trim Supprime les espaces blancs de début et de fin d’une chaîne et retourne la chaîne mise à jour.

Fonctions de collection

Pour utiliser des collections telles que des tableaux, des chaînes et des dictionnaires, utilisez ces fonctions de collection.

Fonction de collection Task
contains Vérifie si une collection contient un élément spécifique.
empty Vérifie si une collection est vide.
first Renvoyer le premier élément d’une collection.
intersection Retourne une collection qui contient uniquement les éléments communs aux collections spécifiées.
join Renvoyer une chaîne qui contient tous les éléments d’un tableau, séparés par le caractère spécifié.
last Retourne le dernier élément d’une collection.
length Renvoyer le nombre d’éléments d’une chaîne ou d’un tableau.
skip Supprime des éléments du début d’une collection et retourne tous les autres éléments.
take Retourne des éléments du début d’une collection.
union Retourne une collection qui contient tous les éléments des collections spécifiées.

Fonctions logiques

Utilisez ces fonctions dans des conditions pour évaluer n’importe quel type de logique.

Fonction de comparaison logique Task
and Vérifie si toutes les expressions sont vraies.
equals Vérifier si les deux valeurs sont équivalentes.
greater Vérifie si la première valeur est supérieure à la seconde.
greaterOrEquals Vérifie si la première valeur est supérieure ou égale à la seconde.
if Vérifie si une expression est vraie ou fausse. En fonction du résultat, retourne une valeur spécifiée.
less Vérifie si la première valeur est inférieure à la seconde.
lessOrEquals Vérifie si la première valeur est inférieure ou égale à la seconde.
not Vérifie si une expression est fausse.
or Vérifie si au moins une expression est vraie.

Fonctions de conversion

Utilisez ces fonctions pour effectuer une conversion entre chacun des types natifs dans la langue :

  • string
  • integer
  • float
  • boolean
  • arrays
  • dictionaries
Fonction de conversion Task
array Retourne un tableau à partir d’une entrée spécifique unique. Pour des entrées multiples, consultez createArray.
base64 Retourne la version encodée en Base64 d’une chaîne.
base64ToBinary Retourne la version binaire d’une chaîne encodée en Base64.
base64ToString Renvoyer la version de type chaîne d’une chaîne encodée en base 64.
binary Renvoyer la version binaire d’une valeur d’entrée.
bool Renvoyer la version booléenne d’une valeur d’entrée.
coalesce Retourne la première valeur autre que Null d’un ou plusieurs paramètres.
createArray Retourne un tableau à partir de plusieurs entrées.
dataUri Renvoyer l’URI de données pour une valeur d’entrée.
dataUriToBinary Renvoyer la version binaire d’un URI de données.
dataUriToString Renvoyer la version de type chaîne d’un URI de données.
decodeBase64 Renvoyer la version de type chaîne d’une chaîne encodée en base 64.
decodeDataUri Renvoyer la version binaire d’un URI de données.
decodeUriComponent Retourne une chaîne qui remplace les caractères d’échappement par des versions décodées.
encodeUriComponent Renvoyer une chaîne qui remplace les caractères non sécurisés pour les URL par des caractères d'échappement.
float Renvoyer un nombre à virgule flottante pour une valeur d’entrée.
int Retourne la version de type entier d’une chaîne.
json Retourne la valeur ou l’objet de type JavaScript Object Notation (JSON) d’une chaîne ou d’un élément XML.
string Renvoyer la version de type chaîne d’une valeur d’entrée.
uriComponent Renvoyer la version encodée dans un URI d’une valeur d’entrée en remplaçant les caractères non sécurisés pour les URL par des caractères d’échappement.
uriComponentToBinary Renvoyer la version binaire d’une chaîne encodée dans un URI.
uriComponentToString Renvoyer la version de type chaîne d’une chaîne encodée dans un URI.
xml Renvoyer la version XML d’une chaîne.
xpath Vérifie si le code XML contient des valeurs ou des nœuds qui correspondent à une expression de langage XPath et retourne les valeurs ou les nœuds correspondants.

Fonctions mathématiques

Utilisez ces fonctions avec les deux types de nombres : entiers et floats.

Fonction mathématique Task
add Retourne le résultat de l’addition de deux nombres.
div Renvoyer le résultat de la division de deux nombres.
max Renvoyer la valeur la plus élevée d’un ensemble de nombres ou d’un tableau.
min Retourne la plus petite valeur d’un ensemble de nombres ou d’un tableau.
mod Retourne le reste de la division de deux nombres.
mul Retourne le produit de la multiplication de deux nombres.
rand Renvoyer un entier aléatoire à partir d’une plage spécifique.
range Retourne un tableau d’entiers qui commence par un entier spécifique.
sub Retourne le résultat de la soustraction du second nombre du premier.

Fonctions de date

Fonction de date ou heure Task
addDays Ajoute un nombre de jours à un horodatage.
addHours Ajoute un nombre d’heures à un horodatage.
addMinutes Ajoute un nombre de minutes à un horodatage.
addSeconds Ajoute un nombre de secondes à un horodatage.
addToTime Ajoute un nombre d’unités de temps à un horodatage. Voir aussi getFutureTime.
convertFromUtc Convertissez un horodatage de temps universel coordonné (UTC) en fuseau horaire cible.
convertTimeZone Convertit un horodatage du fuseau horaire source au fuseau horaire cible.
convertToUtc Convertissez un horodatage du fuseau horaire source en temps universel coordonné (UTC).
dayOfMonth Retourne le jour du composant mois d’un timestamp.
dayOfWeek Renvoyer le jour du composant semaine d’un timestamp.
dayOfYear Renvoyer le jour du composant année d’un timestamp.
formatDateTime Retourner l’horodatage sous forme de chaîne dans un format facultatif.
getFutureTime Retourne l’horodatage actuel plus les unités de temps spécifiées. Voir aussi addToTime.
getPastTime Retourne l’horodatage actuel moins les unités de temps spécifiées. Voir aussi subtractFromTime.
startOfDay Retourne le début du jour d’un horodatage.
startOfHour Retourne le début de l’heure d’un horodatage.
startOfMonth Retourne le début du mois pour un horodatage.
subtractFromTime Soustrait un nombre d’unités de temps d’un timestamp. Voir aussi getPastTime.
ticks Retourne la valeur de la propriété ticks pour un horodatage spécifique.
utcNow Renvoyer le timestamp actuel sous forme de chaîne.