Les macros sont des espaces réservés dans les configurations de propriété du plug-in Cloud Data Fusion. Elles sont représentées par des variables contenues dans ${ }
, telles que
${input_file_path}
Pour activer la configuration dynamique d'éléments tels que les fichiers
chemins d'accès et noms de tables, les espaces réservés sont remplacés par des valeurs réelles
de l'environnement d'exécution.
Lorsque vous consultez les propriétés d'un plug-in, vous pouvez ajouter une macro à n'importe quel champ de propriété associé à un M. Pour ajouter la macro, cliquez sur M.
Pour en savoir plus, consultez la section Gérer les macros, les préférences et les arguments d'exécution.
Macros
Outre les macros, vous pouvez utiliser les fonctions prédéfinies suivantes:
logicalStartTime()
secure()
Fonction Heure de début logique
La fonction de macro logicalStartTime()
renvoie l'heure de début logique d'une exécution.
du pipeline sous forme de valeur de chaîne.
Si aucun paramètre n'est fourni, l'heure de début est renvoyée en millisecondes. Tout sont facultatifs. La fonction accepte un format d'heure, un décalage fuseau horaire en tant qu'arguments et utilise l'heure de début logique d'un pipeline pour effectuer la substitution:
${logicalStartTime([timeFormat[,offset [,timezone])}
La liste suivante présente les paramètres facultatifs pour logicalStartTime()
:
Paramètre | Description |
---|---|
timeFormat |
Modèle de format d'heure au format Java SimpleDateFormat . |
offset |
Décalage temporel avant l'heure de début logique. |
timezone |
Fuseau horaire à utiliser pour l'heure de début logique. |
Exemple
Dans cet exemple, l'heure de début logique de l'exécution d'un pipeline est
2020-01-01T00:00:00
et vous fournissez la macro suivante:
${logicalStartTime(yyyy-MM-dd'T'HH-mm-ss,1d-4h+30m)}
Le format est yyyy-MM-dd'T'HH-mm-ss
et le décalage est de 1d-4h+30m
avant la
une heure de début logique. Au moment de l'exécution, la valeur de la macro est remplacée par
2019-12-31T03:30:00
, car le décalage correspond à 20,5 heures. L'intégralité
est évaluée 20, 5 heures avant minuit le 1er janvier 2020.
Utiliser logicalStartTime()
dans les plug-ins basés sur des fichiers
La manière la plus courante d'utiliser cette fonction consiste à spécifier le champ Chemin d'accès dans les modèles de fichier plug-ins.
Inclure l'heure de début du pipeline en millisecondes dans un nom de fichier
Pour capturer l'heure de début réelle en millisecondes dans un nom de fichier, omettez les paramètres. dans la fonction macro.
Exemple
Dans cet exemple, vous incluez l'heure de début du pipeline, en millisecondes, dans une Nom de fichier Amazon S3:
sales_012345671011.csv
Dans les propriétés du sink Amazon S3, saisissez la valeur suivante dans le champ Chemin :
s3a://sales-data/sales_${logicalStartTime()}.csv
Inclure la date du jour dans un nom de fichier
Vous pouvez utiliser la fonction de macro logicalStartTime()
dans un nom de fichier pour capturer le
la date actuelle.
Exemple
Dans cet exemple, vous capturez la date du jour dans le nom de fichier S3 suivant:
s3a://sales-data/sales_20210204.csv
Dans les propriétés du récepteur Amazon S3, saisissez la valeur suivante dans le champ Chemin d'accès. :
s3a://sales-data/sales_${logicalStartTime(yyyyMMdd)}.csv
Utiliser logicalStartTime
pour ajouter un champ d'horodatage aux enregistrements structurés
Vous pouvez ajouter un code temporel à un enregistrement structuré à l'aide de l'option Ajouter un champ.
et logicalStartTime()
.
- Obtenez le plug-in Field Adder Transform (Transformation Field Adder) depuis Cloud Data Fusion Hub. Une fois le plug-in déployé, il apparaît dans la liste Transform en tant que Add Champ.
- Lorsque vous configurez les propriétés du plug-in, ajoutez l'horodatage à un
record (par exemple, pour le nom du champ, saisissez le nom du nouveau
et saisissez la macro
logicalStartTime()
comme valeur du champ. .
Fonction sécurisée
La fonction de macro secure()
utilise une clé unique comme argument et recherche
valeur de chaîne associée à la clé provenant du magasin sécurisé.
Pour effectuer la substitution, la clé fournie en tant qu'argument doit déjà
dans le Secure Store. Cette fonction est utile pour effectuer une substitution
des données sensibles.
Exemple
Dans cet exemple, pour un plug-in qui se connecte à une base de données MySQL, vous configurez dans le champ de la propriété "password" avec la valeur suivante:
${secure(password)}
Cette macro extrait le mot de passe du magasin sécurisé au moment de l'exécution.
Macros récursives
Les macros peuvent se référer à d'autres macros de manière récursive jusqu'à 10 niveaux. Les arguments de macro sont évalués de l'argument le plus interne à l'argument le plus externe.
Exemple
Dans cet exemple, vous disposez d'un serveur qui fait référence à un nom d'hôte et à un port. Toi fournir les arguments d'exécution suivants, dont le dernier est une macro qui fait référence à d'autres macros:
- nom d'hôte:
examplepetstore.com
- port :
9991
- server-address:
${hostname}:${port}
Dans une configuration de pipeline, vous utilisez l'expression suivante:
server-address: ${server-address}
Au moment de l'exécution, elle est remplacée par la valeur suivante:
examplepetstore.com:9991
Étape suivante
En savoir plus sur les macros, les préférences et les arguments d'exécution
Découvrez comment utiliser les modèles de plug-in.