Parametere for Data Factory i Microsoft Fabric

Denne artikkelen viser deg hvordan du bruker parametere i Data Factory-pipelinene dine i Fabric, slik at du kan bygge fleksible, gjenbrukbare arbeidsflyter.

Bruk parametere, uttrykk og funksjoner i Data Factory-pipelines

Denne delen går gjennom det grunnleggende for å lage parameteriserte pipelines i Data Factory for Fabric, med klare eksempler underveis. Parametere og dynamiske uttrykk sparer tid og lar deg bygge fleksible Extract, Transform, Load (ETL) eller Extract, Load, Transform (ELT)-løsninger. De reduserer hard koding og lar deg gjenbruke objekter og prosesser, noe som gjør pipelines enklere å vedlikeholde og lar deg levere nye funksjoner raskere.

Parameter- og uttrykkskonsepter

Du kan bruke parametere til å sende eksterne verdier til pipelinene. Etter at du har satt en parameter, forblir verdien den samme gjennom hele kjøringen. Parametere lar deg gjenbruke samme pipeline med forskjellige verdier hver gang. Du kan bruke parametere alene eller inne i uttrykk, med verdier som enten er faste eller beregnes når pipelinen kjører.

Uttrykk kan gå hvor som helst i en strengverdi og alltid returnere en annen strengverdi. Hvis du for eksempel bruker @password, behandler pipelinen passord som en parameter. Hvis verdien er et uttrykk, fjern @-en for å få det faktiske innholdet. For å bruke en streng som starter med @, unnslipp den ved å skrive @@. Følgende eksempler viser hvordan dette fungerer i praksis.

Parameterverdi Result
"parameters" Tegnene parametere returneres.
"parameters[1]" Tegnene 'parametere[1]' returneres.
"@@" En 1 tegnstreng som inneholder @, returneres.
" @" En 2 tegnstreng som inneholder @ returneres.

Uttrykk kan også dukke opp inne i strenger gjennom strenginterpolasjon, hvor du pakker inn uttrykk i @{ ... }. Følgende streng inneholder for eksempel parameterverdier og litterale strengverdier:

"Fornavn: @{pipeline().parameters.firstName} Etternavn: @{pipeline().parametere.lastName}"

Strenginterpolasjon returnerer alltid en streng. For eksempel, hvis du definerer myNumber som 42 og myString som foo:

Parameterverdi Result
"@pipeline().parameters.myString" Returnerer foo som en streng.
"@{pipeline().parameters.myString}" Returnerer foo som en streng.
"@pipeline().parameters.myNumber" Returnerer 42 som et tall.
"@{pipeline().parameters.myNumber}" Returnerer 42 som en streng.
"Svaret er: @{pipeline().parameters.myNumber}" Returnerer strengen Answer is: 42.
"@concat('Svar er: ', string(pipeline().parameters.myNumber))" Returnerer strengen Answer is: 42
"Svaret er: @@{pipeline().parameters.myNumber}" Returnerer strengen Answer is: @{pipeline().parameters.myNumber}.

Eksempler på parameteruttrykk

Lag og bruk parametere

For å lage parametere, velg bakgrunnen til pipeline-editorens lerret, og velg deretter fanen Parametere i egenskapsvinduet nederst. Velg + Ny for å legge til en parameter i pipelinen, og gi den et navn, en datatype og en standardverdi:

Skjermbilde som viser parameterredigeringsprogrammet på egenskapssidene for et datasamlebånd.

Du kan deretter bruke parameteren hvor som helst pipelinen din støtter dynamisk innhold. I dette eksempelet gir parameteren dynamisk navnet på et lakehouse-datalager på fanen Kilde på egenskapssidene til en Copy activity.

Skjermbilde som viser Kilde-fanen på egenskapssidene for en kopiaktivitet, og uthever alternativet Legg til dynamisk innhold.

Vinduet Legg til dynamisk innhold åpnes. Bruk den til å spesifisere alle typer dynamisk innhold, inkludert parametere, systemvariabler, funksjoner eller pipeline-variabler. I dette eksempelet velger du parameteren du definerte tidligere, og det dynamiske innholdsvinduet fylles automatisk med riktig uttrykk for referanse.

Skjermbilde som viser vinduet Legg til dynamisk innhold med en datasamlebåndparameter valgt.

Parameteriser forbindelser

For å parameterisere tilkoblinger i pipelines, bruk den globalt unike identifikatoren (GUID) til forbindelsen du ønsker å erstatte dynamisk.

  1. Før du dynamisk endrer forbindelsen i pipelinen din, hent GUID-en til forbindelsen du vil sette.
  2. Gå til Innstillinger>Administrer tilkoblinger og gatewayer.
  3. Finn tilkoblingsnavnet og velg ellipsen (...) ved siden av.
  4. Velg Innstillinger og kopier tilkoblings-ID-en.
  5. Lim inn GUID-en i en strengparameter, og referer til den parameteren i ditt dynamiske uttrykk.

Eksempel på komplekst uttrykk

Følgende uttrykk refererer til et dypt delfelt av aktivitetsoutput. For å referere til en pipeline-parameter som evaluerer til et delfelt, bruk [] syntaks i stedet for dot (.)-operatoren, som med subfield1 og subfield2.

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

Dynamisk redigeringsprogram for innhold

Det dynamiske innholdsredigeringsprogrammet slipper automatisk ut tegn i innholdet når du er ferdig med å redigere. Følgende innhold i innholdsredigeringsprogrammet er for eksempel en streng interpolering med en uttrykksfunksjon:

@{toUpper('myData')}

Redigeringsprogrammet for dynamisk innhold konverterer det forrige innholdet til følgende uttrykk:

MYDATA

Bruk funksjoner og variabler i uttrykk

Du kan kalle opp funksjoner og bruke variabler i uttrykk. Avsnittene nedenfor inneholder informasjon om funksjonene som kan brukes i et uttrykk.

Variabler for datasamlebånd

Du kan referere til disse systemvariablene hvor som helst i pipeline-JSON.

Variabelnavn Description
@pipeline().DataFactory Navnet på arbeidsområdet hvor pipeline-kjøringen kjører
@pipeline().Pipeline Navnet på datasamlebåndet
@pipeline().RunId ID for den spesifikke datasamlebåndkjøringen
@pipeline().TriggerId ID for utløseren som startet datasamlebåndet
@pipeline().TriggerName Navnet på utløseren som startet datasamlebåndet
@pipeline().TriggerTime Tidspunktet for utløserkjøringen som startet datasamlebåndet. Denne verdien er tidspunktet triggeren faktisk utløste for å starte pipeline-kjøringen, og den kan avvike litt fra triggerens planlagte tid.
@pipeline().GroupId ID-en til gruppen som pipeline-kjøringen tilhører. I Microsoft Fabric er en gruppe en samling av relaterte ressurser som du administrerer sammen. Grupper organiserer og kontrollerer tilgang til ressurser, noe som gjør det enklere å administrere tillatelser og overvåke aktiviteter på tvers av flere pipelines.
@pipeline()?. TriggeredByPipelineName Navnet på datasamlebåndet som utløser datasamlebåndkjøringen. Gjelder når en Execute Pipeline-aktivitet utløser pipeline-kjøringen. Evaluerer til null i andre tilfeller. Legg merke til spørsmålstegnet etter @pipeline().
@pipeline()?. TriggeredByPipelineRunId Kjør ID for datasamlebåndet som utløser datasamlebåndkjøringen. Gjelder når en Execute Pipeline-aktivitet utløser pipeline-kjøringen. Evaluerer til null i andre tilfeller. Legg merke til spørsmålstegnet etter @pipeline().

Note

Trigger-relaterte dato/tid-systemvariabler (både i pipeline- og trigger-scope) returnerer Coordinated Universal Time (UTC) datoer i ISO 8601-format, for eksempel, 2017-06-01T22:20:00.4061448Z.

Streng-funksjoner

For å jobbe med strenger, bruk disse strengfunksjonene og også noen samlingsfunksjoner. Strengfunksjoner fungerer bare på strenger.

Strengfunksjon Task
concat Kombiner to eller flere strenger, og returner den kombinerte strengen.
endsWith Kontroller om en streng slutter med den angitte delstrengen.
guid Generer en globalt unik identifikator (GUID) som en streng.
indexOf Returner startposisjonen for en delstreng.
lastIndexOf Returner startposisjonen for den siste forekomsten av en delstreng.
replace Erstatt en delstreng med den angitte strengen, og returner den oppdaterte strengen.
split Returner en matrise som inneholder delstrenger, atskilt med komma, fra en større streng basert på et angitt skilletegn i den opprinnelige strengen.
startsWith Kontroller om en streng starter med en bestemt delstreng.
substring Returner tegn fra en streng, fra den angitte plasseringen.
toLower Returner en streng med små bokstaver.
toUpper Returner en streng med store bokstaver.
trim Fjern innledende og etterfølgende mellomrom fra en streng, og returner den oppdaterte strengen.

Samlingsfunksjoner

For å arbeide med samlinger som matriser, strenger og ordbøker, bruk disse samlingsfunksjonene.

Samlingsfunksjon Task
contains Kontroller om en samling har et bestemt element.
empty Kontroller om en samling er tom.
first Returner det første elementet fra en samling.
intersection Returner en samling som bare har de vanlige elementene på tvers av de angitte samlingene.
join Returner en streng som har alle elementene fra en matrise, atskilt med det angitte tegnet.
last Returner det siste elementet fra en samling.
length Returner antall elementer i en streng eller matrise.
skip Fjern elementer fra forsiden av en samling, og returner alle de andre elementene.
take Returner elementer fra forsiden av en samling.
union Returner en samling som har alle elementene fra de angitte samlingene.

Logiske funksjoner

Bruk disse funksjonene i betingelser for å evaluere enhver type logikk.

Logisk sammenligningsfunksjon Task
and Kontroller om alle uttrykk er sanne.
equals Kontroller om begge verdiene er like.
greater Kontroller om den første verdien er større enn den andre verdien.
greaterOrEquals Kontroller om den første verdien er større enn eller lik den andre verdien.
if Kontroller om et uttrykk er sant eller usant. Hvis du er basert på resultatet, returnerer du en angitt verdi.
less Kontroller om den første verdien er mindre enn den andre verdien.
lessOrEquals Kontroller om den første verdien er mindre enn eller lik den andre verdien.
not Kontroller om et uttrykk er usant.
or Kontroller om minst ett uttrykk er sant.

Konverteringsfunksjoner

Bruk disse funksjonene for å konvertere mellom hver av de native typene i språket:

  • streng
  • heltall
  • float
  • boolean
  • arrays
  • dictionaries
Konverteringsfunksjon Task
array Returner en matrise fra én enkelt angitt inndata. Hvis du vil ha flere inndata, kan du se createArray.
base64 Returner den base64-kodede versjonen for en streng.
base64ToBinary Returner binærversjonen for en base64-kodet streng.
base64ToString Returner strengversjonen for en base64-kodet streng.
binary Returner binærversjonen for en inndataverdi.
bool Returner den boolske versjonen for en inndataverdi.
coalesce Returner den første verdien som ikke er null fra én eller flere parametere.
createArray Returner en matrise fra flere inndata.
dataUri Returner data-URI-en for en inndataverdi.
dataUriToBinary Returner binærversjonen for en data-URI.
dataUriToString Returner strengversjonen for en data-URI.
decodeBase64 Returner strengversjonen for en base64-kodet streng.
decodeDataUri Returner binærversjonen for en data-URI.
decodeUriComponent Returner en streng som erstatter escape-tegn med dekodede versjoner.
encodeUriComponent Returner en streng som erstatter url-usikre tegn med escape-tegn.
float Returner et flyttall for en inndataverdi.
int Returner heltallsversjonen for en streng.
json Returner JSON-typeverdien (JavaScript Object Notation) eller objektet for en streng eller XML.
string Returner strengversjonen for en inndataverdi.
uriComponent Returner den URI-kodede versjonen for en inndataverdi ved å erstatte url-usikre tegn med escape-tegn.
uriComponentToBinary Returner binærversjonen for en URI-kodet streng.
uriComponentToString Returner strengversjonen for en URI-kodet streng.
xml Returner XML-versjonen for en streng.
xpath Kontroller XML for noder eller verdier som samsvarer med et XPath-uttrykk (XML Path Language), og returner de samsvarende nodene eller verdiene.

Matematiske funksjoner

Bruk disse funksjonene med begge typer tall: heltall og flyttall.

Matematikk (funksjon) Task
add Returner resultatet fra å legge til to tall.
div Returner resultatet fra å dele to tall.
max Returner den høyeste verdien fra et sett med tall eller en matrise.
min Returner den laveste verdien fra et sett med tall eller en matrise.
mod Returner resten fra å dele to tall.
mul Returner produktet fra å multiplisere to tall.
rand Returner et tilfeldig heltall fra et angitt område.
range Returner en heltallmatrise som starter fra et angitt heltall.
sub Returner resultatet fra å trekke det andre tallet fra det første tallet.

Datofunksjoner

Dato- eller klokkeslettfunksjon Task
addDays Legg til et antall dager i et tidsstempel.
addHours Legg til et antall timer i et tidsstempel.
addMinutes Legg til et antall minutter i et tidsstempel.
addSeconds Legg til et antall sekunder i et tidsstempel.
addToTime Legg til et antall tidsenheter i et tidsstempel. Se også getFutureTime.
convertFromUtc Konverter et tidsstempel fra koordinert universell tid (UTC) til måltidssonen.
convertTimeZone Konverter et tidsstempel fra kildetidssonen til måltidssonen.
convertToUtc Konverter et tidsstempel fra kildetidssonen til koordinert universell tid (UTC).
dayOfMonth Returner dag for månedskomponenten fra et tidsstempel.
dayOfWeek Returner ukedagkomponenten fra et tidsstempel.
dayOfYear Returner dagen i året-komponenten fra et tidsstempel.
formatDateTime Returner tidsstempelet som en streng i valgfritt format.
getFutureTime Returner gjeldende tidsstempel pluss de angitte tidsenhetene. Se også addToTime.
getPastTime Returner gjeldende tidsstempel minus de angitte tidsenhetene. Se også subtractFromTime.
startOfDay Returner starten på dagen for et tidsstempel.
startOfHour Returner starten på timen for et tidsstempel.
startOfMonth Returner starten av måneden for et tidsstempel.
subtractFromTime Trekk fra et antall tidsenheter fra et tidsstempel. Se også getPastTime.
ticks Returner egenskapsverdien ticks for et angitt tidsstempel.
utcNow Returner gjeldende tidsstempel som en streng.