Le macro sono segnaposto all'interno della proprietà del plug-in di Cloud Data Fusion
configurazioni. Sono rappresentate da variabili racchiuse all'interno di ${ }
, come
${input_file_path}
. Per attivare la configurazione dinamica di elementi, ad esempio file
e nomi delle tabelle, i segnaposto vengono sostituiti con valori effettivi
runtime.
Quando visualizzi le proprietà di un plug-in, puoi aggiungere una macro a qualsiasi campo della proprietà accanto alla quale è presente una M. Per aggiungere la macro, fai clic su M.
Per ulteriori informazioni, consulta Gestire le macro, le preferenze e gli argomenti di runtime.
Funzioni macro
Oltre alle macro, puoi utilizzare le seguenti funzioni macro predefinite:
logicalStartTime()
secure()
Funzione Ora di inizio logica
La funzione della macro logicalStartTime()
restituisce l'ora di inizio logica di un'esecuzione della pipeline come valore di stringa.
Se non viene fornito alcun parametro, viene restituita l'ora di inizio in millisecondi. Tutti sono facoltativi. La funzione richiede un formato ora, un offset e un il fuso orario come argomenti e utilizza l'ora di inizio logica di una pipeline per eseguire la sostituzione:
${logicalStartTime([timeFormat[,offset [,timezone])}
L'elenco seguente mostra i parametri facoltativi per logicalStartTime()
:
Parametro | Descrizione |
---|---|
timeFormat |
Il pattern del formato dell'ora, nel formato Java SimpleDateFormat . |
offset |
Offset di tempo prima dell'ora di inizio logica. |
timezone |
Fuso orario da utilizzare per l'ora di inizio logica. |
Esempio
In questo esempio, l'ora di inizio logica dell'esecuzione di una pipeline è
2020-01-01T00:00:00
e fornisci la macro seguente:
${logicalStartTime(yyyy-MM-dd'T'HH-mm-ss,1d-4h+30m)}
Il formato è yyyy-MM-dd'T'HH-mm-ss
e l'offset è 1d-4h+30m
prima del
in un'ora di inizio logica. In fase di runtime, il valore della macro viene sostituito con
2019-12-31T03:30:00
perché l'offset si traduce in 20,5 ore. L'intera
macro viene valutata 20,5 ore prima della mezzanotte del 1° gennaio 2020.
Utilizzo di logicalStartTime()
nei plug-in basati su file
Il modo più comune per utilizzare questa funzione è nel campo Percorso dei plug-in basati su file.
Inclusione dell'ora di inizio della pipeline in millisecondi in un nome file
Per acquisire l'ora di inizio effettiva in millisecondi in un nome file, ometti i parametri nella funzione macro.
Esempio
In questo esempio, includi l'ora di inizio della pipeline, in millisecondi, in una Nome file Amazon S3:
sales_012345671011.csv
Nelle proprietà di destinazione Amazon S3, inserisci il seguente valore nel campo Percorso:
s3a://sales-data/sales_${logicalStartTime()}.csv
Inclusione della data odierna in un nome file
Puoi utilizzare la funzione macro logicalStartTime()
in un nome file per acquisire la data corrente.
Esempio
In questo esempio, acquisisci la data odierna nel seguente nome file S3:
s3a://sales-data/sales_20210204.csv
Nelle proprietà del sink di Amazon S3, inserisci il seguente valore nel campo Percorso campo:
s3a://sales-data/sales_${logicalStartTime(yyyyMMdd)}.csv
Utilizzo di logicalStartTime
per aggiungere un campo Timestamp ai record strutturati
Puoi aggiungere il timestamp a un record strutturato utilizzando la trasformazione Aggiungi campo e logicalStartTime()
.
- Ottieni il plug-in Field Adder Transform (Trasformazione Field Adder) dall'hub Cloud Data Fusion. Dopo aver eseguito il deployment del plug-in, questo viene visualizzato nell'elenco Trasforma come Aggiungi campo.
- Quando configuri le proprietà del plug-in, aggiungi il timestamp a un
ad esempio, per il nome del campo, inserisci il nome del nuovo
e per il valore del campo, inserisci la macro
logicalStartTime()
personalizzata.
Funzione di sicurezza
La funzione macro secure()
prende una singola chiave come argomento e cerca
il valore della stringa associata alla chiave da Secure Store.
Per eseguire la sostituzione, la chiave fornita come argomento deve già
nel Secure Store. Questa operazione è utile per eseguire una sostituzione con
dati sensibili.
Esempio
In questo esempio, per un plug-in che si connette a un database MySQL, configuri il campo della proprietà della password con il seguente valore:
${secure(password)}
Questa macro estrae la password dal Secure Store in fase di esecuzione.
Macro ricorsive
Le macro possono fare riferimento in modo ricorsivo ad altre macro fino a un massimo di dieci livelli. Gli argomenti della macro vengono valutati dall'argomento più interno a quello più esterno.
Esempio
In questo esempio, hai un server che fa riferimento a un nome host e a una porta. Fornisci i seguenti argomenti di runtime, l'ultimo dei quali è una macro che fa riferimento ad altre macro:
- hostname:
examplepetstore.com
- port:
9991
- indirizzo-server:
${hostname}:${port}
In una configurazione della pipeline, utilizza la seguente espressione:
server-address: ${server-address}
In fase di runtime, viene sostituito con il seguente valore:
examplepetstore.com:9991
Passaggi successivi
Scopri di più su macro, preferenze e argomenti di runtime.
Scopri come utilizzare i modelli di plug-in.