Les på engelsk

Del via


Parametere for Data Factory i Microsoft Fabric

Dette dokumentet beskriver hvordan du bruker parametere i datafabrikkens datafabrikk.

Slik bruker du parametere, uttrykk og funksjoner i datafabrikken i Fabric

I dette dokumentet fokuserer vi på å lære grunnleggende konsepter med ulike eksempler for å utforske muligheten til å opprette parameteriserte datasamlebånd i Data Factory in Fabric. Parameterisering og dynamiske uttrykk kan spare enorme mengder tid og gi mulighet for en mye mer fleksibel uttrekkings-, transformerings-, belastningsløsning (ETL) eller extract-, load-, transformeringsløsning (ELT), noe som vil redusere kostnadene for vedlikehold av løsningen dramatisk og øke implementeringen av nye funksjoner i eksisterende datasamlebånd. Disse gevinstene skyldes at parameterisering minimerer mengden hard koding og øker antall gjenbrukbare objekter og prosesser i en løsning.

Parameter- og uttrykkskonsepter

Du kan bruke parametere til å sende eksterne verdier til datasamlebånd. Når parameteren er sendt til ressursen, kan den ikke endres. Ved å parametere ressurser kan du bruke dem på nytt med forskjellige verdier hver gang. Parametere kan brukes individuelt eller som en del av uttrykk. Parameterverdier i definisjonen kan være litterale eller uttrykk som evalueres ved kjøring.

Uttrykk kan vises hvor som helst i en strengverdi og alltid generere en annen strengverdi. Her er passordet en datasamlebåndparameter i uttrykket. Hvis en parameterverdi er et uttrykk, trekkes brødteksten i uttrykket ut ved å fjerne at-sign (@). Hvis en litteral streng er nødvendig som starter med @, må den slippes ut ved hjelp av @@. Eksemplene nedenfor viser hvordan uttrykk evalueres.

parameterverdi Resultat
"parametere" Tegnene parametere returneres.
"parametere[1]" Tegnene 'parametere[1]' returneres.
"@@" En 1 tegnstreng som inneholder @, returneres.
" @" En 2 tegnstreng som inneholder @ returneres.

Uttrykk kan også vises i strenger ved hjelp av en funksjon som kalles streng interpolering der uttrykk er pakket inn @{ ... }. Følgende streng inneholder for eksempel parameterverdier og litterale strengverdier:

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

Ved hjelp av streng interpolering er resultatet alltid en streng. Hvis du for eksempel definerte myNumber som 42 og myString som foo:

parameterverdi Resultat
"@pipeline().parametere.myString" Returnerer foo som en streng.
"@{pipeline().parametere.myString}" Returnerer foo som en streng.
"@pipeline().parametere.myNumber" Returnerer 42 som et tall.
"@{pipeline().parametere.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å bruk av parametere i uttrykk

Opprette og bruke parametere

Hvis du vil opprette parametere, velger du bakgrunnen til lerretet for datasamlebåndredigering, og deretter kategorien Parametere i egenskapsvinduet nederst. Velg +Ny-knappen for å legge til en ny parameter i datasamlebåndet, gi den et navn, en datatype og en standardverdi:

Screenshot showing the Parameters editor on the properties pages for a pipeline.

Deretter kan du bruke parameteren hvor som helst i datasamlebåndet der dynamisk innhold støttes. I dette eksemplet brukes parameteren til dynamisk å angi navnet på et Lakehouse-datalager på Kilde-fanen på egenskapssidene for en kopiaktivitet.

Screenshot showing the Source tab of a copy activity's property pages, highlighting the Add dynamic content option.

Vinduet Legg til dynamisk innhold vises, slik at du kan angi alle typer dynamisk innhold, inkludert parametere, systemvariabler, funksjoner eller pipelinevariabler. I dette eksemplet er den tidligere definerte parameteren valgt, og vinduet for dynamisk innhold fylles automatisk ut med riktig uttrykk for å referere til parameteren.

Screenshot showing the Add dynamic content window with a pipeline parameter selected.

Eksempel på komplekst uttrykk

Eksemplet nedenfor viser et komplekst eksempel som refererer til et dypt delfelt med aktivitetsutdata. Hvis du vil referere til en datasamlebåndparameter som evalueres til et delfelt, bruker du [] syntaks i stedet for punkt(.) operator (som i tilfelle underfelt1 og underfelt2)

@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 innholdet ovenfor til følgende uttrykk:

MYDATA

Bruke 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

Disse systemvariablene kan refereres hvor som helst i datasamlebåndet JSON.

Variabelnavn Bekrivelse
@pipeline().DataFactory Navnet på dataene eller Synapse-arbeidsområdet som datasamlebåndet kjører i
@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. Dette er tidspunktet da utløseren faktisk ble avfyrt for å starte datasamlebåndkjøringen, og det kan avvike litt fra utløserens planlagte tid.
@pipeline().GroupId ID for gruppen som datasamlebåndkjøring tilhører.
@pipeline()?. TriggeredByPipelineName Navnet på datasamlebåndet som utløser datasamlebåndkjøringen. Gjelder når datasamlebåndkjøringen utløses av en ExecutePipeline-aktivitet. Evaluer til Null når den brukes 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 datasamlebåndkjøringen utløses av en ExecutePipeline-aktivitet. Evaluer til Null når den brukes i andre tilfeller. Legg merke til spørsmålstegnet etter @pipeline()

Obs!

Utløserrelaterte systemvariabler for dato/klokkeslett (i både datasamlebånd og utløseromfang) returnerer UTC-datoer i ISO 8601-format, for eksempel 2017-06-01T22:20:00.4061448Z.

Strengfunksjoner

Hvis du vil arbeide med strenger, kan du bruke disse strengfunksjonene og også noen samlingsfunksjoner. Strengfunksjoner fungerer bare på strenger.

Strengfunksjon Oppgave
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.
Delstreng 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.

Innsamlingsfunksjoner

Hvis du vil arbeide med samlinger, vanligvis matriser, strenger og noen ganger ordlister, kan du bruke disse samlingsfunksjonene.

Samlingsfunksjon Oppgave
Inneholder Kontroller om en samling har et bestemt element.
empty Kontroller om en samling er tom.
Første Returner det første elementet fra en samling.
Skjæringspunktet mellom Returner en samling som bare har de vanlige elementene på tvers av de angitte samlingene.
Delta Returner en streng som har alle elementene fra en matrise, atskilt med det angitte tegnet.
Siste Returner det siste elementet fra en samling.
Lengde Returner antall elementer i en streng eller matrise.
Hoppe over Fjern elementer fra forsiden av en samling, og returner alle de andre elementene.
Ta Returner elementer fra forsiden av en samling.
Union Returner en samling som har alle elementene fra de angitte samlingene.

Logiske funksjoner

Disse funksjonene er nyttige innenfor betingelser, de kan brukes til å evaluere alle typer logikk.

Logisk sammenligningsfunksjon Oppgave
and Kontroller om alle uttrykk er sanne.
Tilsvarer 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.
Hvis 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.
Ikke Kontroller om et uttrykk er usant.
or Kontroller om minst ett uttrykk er sant.

Konverteringsfunksjoner

Disse funksjonene brukes til å konvertere mellom hver av de opprinnelige typene på språket:

  • streng
  • integer
  • flyttall
  • boolean
  • Matriser
  • Ordbøker
Konverteringsfunksjon Oppgave
Matrise 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.
Binære Returner binærversjonen for en inndataverdi.
Bool Returner den boolske versjonen for en inndataverdi.
Koaliserer 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.
kodeUriComponent Returner en streng som erstatter url-usikre tegn med escape-tegn.
Flyte 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.
Streng 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

Disse funksjonene kan brukes for begge typer tall: heltall og flyter.

Matematikk (funksjon) Oppgave
Legge Returner resultatet fra å legge til to tall.
Div Returner resultatet fra å dele to tall.
Maks 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 Oppgave
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 Universal Time Coordinated (UTC) til måltidssonen.
convertTimeZone Konverter et tidsstempel fra kildetidssonen til måltidssonen.
convertToUtc Konverter et tidsstempel fra kildetidssonen til Universal Time Coordinated (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.
Flått Returner egenskapsverdien ticks for et angitt tidsstempel.
utcNow Returner gjeldende tidsstempel som en streng.