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.
Ce guide vous montre comment utiliser des paramètres dans vos pipelines Data Factory dans Fabric. Il s’agit d’un moyen simple de rendre vos flux de travail plus flexibles et plus faciles à gérer.
Comment utiliser des paramètres, des expressions et des fonctions dans des pipelines pour Data Factory dans Fabric
Ce guide 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. En utilisant des paramètres et des expressions dynamiques, vous pouvez gagner beaucoup de temps et créer des solutions flexibles ETL (Extraire, Transformer, Charger) ou ELT (Extraire, Charger, Transformer). Ces techniques réduisent le codage dur et vous aident à réutiliser des objets et des processus, ce qui facilite la maintenance de vos pipelines et le déploiement 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. Une fois qu’un paramètre est défini, il reste le même tout au long de l’exécution et ne peut pas être modifié. En utilisant des paramètres, vous pouvez réutiliser le même pipeline avec des valeurs différentes à chaque fois. Ils peuvent être utilisés seuls ou à l'intérieur d'expressions, et ces valeurs peuvent être fixes ou calculées lorsque le pipeline s'exécute.
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 simplement le @ pour obtenir le contenu réel. Et si vous avez besoin d’une chaîne qui commence par @, il vous suffit de l’échapper en tapant @@. Vous trouverez ci-dessous quelques exemples pour montrer 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. |
Des expressions peuvent également apparaître dans des chaînes, qui utilisent une fonctionnalité appelée interpolation de chaîne où les expressions sont encapsulées dans @{ ... }. 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} »
En utilisant une interpolation de chaîne, le résultat est toujours une chaîne. Par exemple, si vous avez défini myNumber comme 42 et myString comme foo :
| 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’utilisation de paramètres dans les expressions
Création et utilisation de paramètres
Pour créer des paramètres, sélectionnez l’arrière-plan du canevas de l’éditeur de pipeline, puis l’onglet Paramètres de la fenêtre de propriétés en bas. Sélectionnez le bouton + Nouveau pour ajouter un nouveau paramètre au pipeline, donnez-lui un nom, un type de données et une valeur par défaut :
Vous pouvez ensuite utiliser le paramètre n’importe où dans votre pipeline où le contenu dynamique est pris en charge. Dans cet exemple, le paramètre est utilisé pour fournir dynamiquement le nom d’un magasin de données Lakehouse sous l’onglet Source des pages de propriétés d’une activité de copie.
La fenêtre Ajouter un contenu dynamique s’affiche, ce qui vous permet de 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, le paramètre précédemment défini est sélectionné et la fenêtre de contenu dynamique est automatiquement remplie avec l’expression correcte pour référencer le paramètre.
Comment paramétrer les connexions
Le paramétrage des connexions dans les pipelines nécessite l’utilisation du GUID de connexion que vous souhaitez remplacer dynamiquement.
- Avant de pouvoir modifier dynamiquement la connexion dans votre pipeline, vous devez saisir le GUID de la connexion que vous souhaitez définir
- Accéder aux paramètres | Gérer les connexions et les passerelles
- Recherchez le nom de la connexion et cliquez sur les élipses en regard du nom de la connexion.
- Sélectionnez Paramètres et copiez l’ID de connexion
- Utiliser un paramètre de chaîne pour coller le GUID dans ce paramètre à utiliser dans votre expression dynamique
Exemple d’expression complexe
L’exemple suivant montre un exemple complexe qui fait référence à un sous-champ de sortie d’activité profond. Pour référencer un paramètre de pipeline qui prend la valeur d’un sous-champ, utilisez la syntaxe [] au lieu de l’opérateur dot(.) (comme avec le sous-champ1 et le sous-champ2)
@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
Utilisation de fonctions et de 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
Ces variables système peuvent être référencées n’importe où dans le code JSON de pipeline.
| Nom de la variable | Description |
|---|---|
| @pipeline().DataFactory | Nom de l'instance de données ou de l’espace de travail Synapse dans lequel s'exécute le pipeline |
| @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. Il s'agit de l'heure à laquelle le déclencheur a réellement été activé pour initier l'exécution du pipeline, et elle peut différer légèrement de l'heure prévue du déclencheur. |
| @pipeline().GroupId | ID du groupe auquel appartient l’exécution du pipeline. Dans Microsoft Fabric, un « groupe » fait référence à une collection de ressources associées qui peuvent être gérées ensemble. Les groupes sont utilisés pour organiser et contrôler 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. Applicable lorsque l’exécution du pipeline est déclenchée par une activité ExecutePipeline. Donne la valeur Null lorsqu’elle est utilisée dans d’autres circonstances. Notez le point d’interrogation après @pipeline() |
| @pipeline()?. TriggeredByPipelineRunId | ID d’exécution du pipeline qui déclenche l’exécution du pipeline. Applicable lorsque l’exécution du pipeline est déclenchée par une activité ExecutePipeline. Donne la valeur Null lorsqu’elle est utilisée dans d’autres circonstances. Notez le point d’interrogation après @pipeline() |
Note
Les variables système de date/heure liées aux déclencheurs (dans la portée du pipeline ou dans celle du déclencheur) retournent des dates UTC au format ISO 8601, par exemple 2017-06-01T22:20:00.4061448Z.
Fonctions de chaîne
Pour travailler avec des chaînes, vous pouvez utiliser ces fonctions de chaîne, ainsi que 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 travailler avec des collections, généralement des tableaux, des chaînes et parfois, des dictionnaires, vous pouvez utiliser 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
Ces fonctions sont utiles à l’intérieur de conditions, et permettent d’évaluer tout 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
Ces fonctions permettent de convertir chacun des types natifs du langage :
- 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
Ces fonctions peuvent être utilisées pour les deux types de nombre : entiers et flottants.
| 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 | Convertit un horodatage du temps universel coordonné (UTC) au fuseau horaire cible. |
| convertTimeZone | Convertit un horodatage du fuseau horaire source au fuseau horaire cible. |
| convertToUtc | Convertit 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. |