Del via


Parametre for Data Factory i Microsoft Fabric

I denne vejledning kan du se, hvordan du bruger parametre i dine Data Factory-pipelines i Fabric. Det er en enkel måde at gøre dine arbejdsgange mere fleksible og nemmere at administrere.

Sådan bruger du parametre, udtryk og funktioner i pipelines til Data Factory i Fabric

I denne vejledning gennemgås det grundlæggende i oprettelse af parameteriserede pipelines i Data Factory for Fabric ved hjælp af tydelige eksempler undervejs. Ved at bruge parametre og dynamiske udtryk kan du spare en masse tid og bygge fleksible ETL- (Extract, Transform, Load) eller ELT-løsninger (Extract, Load, Transform). Disse teknikker skærer ned på hård kodning og hjælper dig med at genbruge objekter og processer, hvilket gør det nemmere at vedligeholde dine pipelines og udrulle nye funktioner hurtigere.

Parameter- og udtryksbegreber

Du kan bruge parametre til at overføre eksterne værdier til dine pipelines. Når en parameter er indstillet, forbliver den den samme under hele kørslen og kan ikke ændres. Ved hjælp af parametre kan du genbruge den samme pipeline med forskellige værdier hver gang. De kan bruges alene eller i udtryk, og disse værdier kan enten være faste eller beregnede, når pipelinen kører.

Udtryk kan placeres hvor som helst i en strengværdi og altid returnere en anden strengværdi. Hvis du f.eks. bruger @password, behandler pipelinen adgangskoden som en parameter. Hvis værdien er et udtryk, skal du blot fjerne @ for at få det faktiske indhold. Og hvis du har brug for en streng, der starter med @, skal du bare slippe den ved at skrive @@. Nedenfor er et par eksempler, der viser, hvordan dette fungerer i praksis.

Parameterværdi Result
"parameters" Tegnene 'parametre' returneres.
"parameters[1]" Tegnene 'parametre[1]' returneres.
"@@" Der returneres en streng på 1 tegn, der indeholder '@'.
" @" En streng på 2 tegn, der indeholder ' @', returneres.

Udtryk kan også vises i strenge ved hjælp af en funktion, der kaldes strenginterpolering, hvor udtryk ombrydes i @{ ... }. Følgende streng indeholder f.eks. parameterværdier og konstantstrengværdier:

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

Ved hjælp af strenginterpolering er resultatet altid en streng. Hvis du f.eks. har defineret myNumber som 42 og myString som foo:

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

Eksempler på brug af parametre i udtryk

Oprettelse og brug af parametre

Hvis du vil oprette parametre, skal du vælge baggrunden af pipelineeditorens lærred og derefter fanen Parametre i egenskabsvinduet nederst. Vælg knappen + Ny for at føje en ny parameter til pipelinen, give den et navn, en datatype og en standardværdi:

Skærmbillede, der viser parametereditoren på egenskabssiderne for en pipeline.

Du kan derefter bruge parameteren et vilkårligt sted i pipelinen, hvor dynamisk indhold understøttes. I dette eksempel bruges parameteren til dynamisk at angive navnet på et Lakehouse-datalager på fanen Source på en kopiaktivitets egenskabssider.

Skærmbillede, der viser fanen Kilde for en kopiaktivitets egenskabssider, hvor indstillingen Tilføj dynamisk indhold fremhæves.

Vinduet Tilføj dynamisk indhold vises, så du kan angive alle typer dynamisk indhold, herunder parametre, systemvariabler, funktionereller pipelinevariabler. I dette eksempel vælges den tidligere definerede parameter, og vinduet med dynamisk indhold udfyldes automatisk med det korrekte udtryk for at referere til parameteren.

Skærmbillede, der viser vinduet Tilføj dynamisk indhold med en pipelineparameter valgt.

Sådan parameteriseres forbindelser

Parameterisering af forbindelser i pipelines kræver brug af det forbindelses-GUID, du vil erstatte dynamisk.

  1. Før du dynamisk kan ændre forbindelsen i din pipeline, skal du hente GUID'et for den forbindelse, du vil angive
  2. Gå til Indstillinger | Administrer forbindelser og gateways
  3. Find navnet på forbindelsen, og klik på ellipserne ud for forbindelsesnavnet
  4. Vælg Indstillinger, og kopier forbindelses-id'et
  5. Brug en strengparameter til at indsætte GUID'et i den pågældende parameter til brug i dit dynamiske udtryk

Eksempel på komplekst udtryk

I følgende eksempel vises et komplekst eksempel, der refererer til et dybt underfelt af aktivitetsoutput. Hvis du vil referere til en pipelineparameter, der evalueres til et underfelt, skal du bruge [] syntaks i stedet for operatoren dot(.) (som med subfield1 og subfield2)

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

Dynamisk indholdseditor

Den dynamiske indholdseditor undgår automatisk tegn i dit indhold, når du er færdig med at redigere. Følgende indhold i indholdseditoren er f.eks. en strenginterpolering med en udtryksfunktion:

@{toUpper('myData')}

Editoren til dynamisk indhold konverterer det forrige indhold til følgende udtryk:

MYDATA

Brug af funktioner og variabler i udtryk

Du kan kalde funktioner og bruge variabler i udtryk. Følgende afsnit indeholder oplysninger om de funktioner, der kan bruges i et udtryk.

Variabler for pipelineomfang

Der kan refereres til disse systemvariabler overalt i JSON-pipelinen.

Variabelnavn Description
@pipeline().DataFactory Navnet på de data eller Synapse-arbejdsområdet, som pipelinekørslen kører i
@pipeline().Pipeline Navnet på pipelinen
@pipeline().RunId Id for den specifikke pipelinekørsel
@pipeline().TriggerId Id'et for den udløser, der aktiverede pipelinen
@pipeline().TriggerName Navnet på den udløser, der aktiverede pipelinen
@pipeline().TriggerTime Tidspunktet for den kørsel af udløseren, der aktiverede pipelinen. Dette er det tidspunkt, hvor udløseren faktisk udløst for at aktivere pipelinekørslen, og det kan afvige en smule fra udløserens planlagte tidspunkt.
@pipeline().GroupId Id'et for den gruppe, som pipelinekørslen tilhører. I Microsoft Fabric refererer en "gruppe" til en samling relaterede ressourcer, der kan administreres sammen. Grupper bruges til at organisere og styre adgangen til ressourcer, hvilket gør det nemmere at administrere tilladelser og overvåge aktiviteter på tværs af flere pipelines.
@pipeline()?. TriggeredByPipelineName Navnet på den pipeline, der udløser pipelinekørslen. Gælder, når pipelinekørslen udløses af en ExecutePipeline-aktivitet. Evaluer til Null-, når det bruges i andre situationer. Bemærk spørgsmålstegnet efter @pipeline()
@pipeline()?. TriggeredByPipelineRunId Kør id'et for den pipeline, der udløser pipelinekørslen. Gælder, når pipelinekørslen udløses af en ExecutePipeline-aktivitet. Evaluer til Null-, når det bruges i andre situationer. Bemærk spørgsmålstegnet efter @pipeline()

Note

Systemvariabler relateret til udløsere (både i pipeline- og udløserområder) returnerer UTC-datoer i ISO 8601-format, f.eks. 2017-06-01T22:20:00.4061448Z.

Streng funktioner

Hvis du vil arbejde med strenge, kan du bruge disse strengfunktioner og nogle samlingsfunktioner. Strengfunktioner fungerer kun på strenge.

Streng, funktionen Task
concat Kombiner to eller flere strenge, og returner den kombinerede streng.
endsWith Kontrollér, om en streng slutter med den angivne understreng.
guid Opret et globalt entydigt id (GUID) som en streng.
indexOf Returner startpositionen for en understreng.
lastIndexOf Returner startpositionen for den sidste forekomst af en understreng.
replace Erstat en understreng med den angivne streng, og returner den opdaterede streng.
split Returnerer en matrix, der indeholder understrenge, adskilt af kommaer, fra en større streng, der er baseret på et angivet afgrænsertegn i den oprindelige streng.
startsWith Kontrollér, om en streng starter med en bestemt understreng.
substring Returnerer tegn fra en streng med start fra den angivne placering.
toLower Returner en streng med små bogstaver.
toUpper Returnerer en streng med store bogstaver.
trim Fjern foranstillede og efterstillede mellemrum fra en streng, og returner den opdaterede streng.

Samlingsfunktioner

Hvis du vil arbejde med samlinger, generelt matrixer, strenge og nogle gange ordbøger, kan du bruge disse samlingsfunktioner.

Funktionen Samling Task
contains Kontrollér, om en samling har et bestemt element.
empty Kontrollér, om en samling er tom.
first Returner det første element fra en samling.
intersection Returner en samling, der kun har de almindelige elementer på tværs af de angivne samlinger.
join Returner en streng, der har alle elementerne fra en matrix adskilt af det angivne tegn.
last Returner det sidste element fra en samling.
length Returner antallet af elementer i en streng eller matrix.
skip Fjern elementer fra forsiden af en samling, og returner alle de andre elementer.
take Returner elementer fra forsiden af en samling.
union Returner en samling, der har alle elementerne fra de angivne samlinger.

Logiske funktioner

Disse funktioner er nyttige i forhold. De kan bruges til at evaluere enhver type logik.

Logisk sammenligningsfunktion Task
and Kontrollér, om alle udtryk er sande.
equals Kontrollér, om begge værdier er ækvivalente.
greater Kontrollér, om den første værdi er større end den anden værdi.
greaterOrEquals Kontrollér, om den første værdi er større end eller lig med den anden værdi.
if Kontrollér, om et udtryk er true eller false. På baggrund af resultatet skal du returnere en angivet værdi.
less Kontrollér, om den første værdi er mindre end den anden værdi.
lessOrEquals Kontrollér, om den første værdi er mindre end eller lig med den anden værdi.
not Kontrollér, om et udtryk er falsk.
or Kontrollér, om mindst ét udtryk er sandt.

Konverteringsfunktioner

Disse funktioner bruges til at konvertere mellem hver af de oprindelige typer på sproget:

  • streng
  • heltal
  • flyde
  • boolean
  • arrays
  • dictionaries
Konvertering funktion Task
array Returnerer en matrix fra et enkelt angivet input. Du kan få flere input under createArray.
base64 Returner den base64-kodede version for en streng.
base64ToBinary Returner den binære version for en base64-kodet streng.
base64ToString Returner strengversionen for en base64-kodet streng.
binary Returner den binære version for en inputværdi.
bool Returner den booleske version for en inputværdi.
coalesce Returner den første værdi, der ikke er null, fra en eller flere parametre.
createArray Returner en matrix fra flere input.
dataUri Returner data-URI'en for en inputværdi.
dataUriToBinary Returner den binære version for en data-URI.
dataUriToString Returner strengversionen for en data-URI.
decodeBase64 Returner strengversionen for en base64-kodet streng.
decodeDataUri Returner den binære version for en data-URI.
decodeUriComponent Returner en streng, der erstatter escape-tegn med afkodede versioner.
encodeUriComponent Returner en streng, der erstatter url-usikre tegn med escape-tegn.
float Returnerer et flydende tal for en inputværdi.
int Returner heltalsversionen for en streng.
json Returner JSON-typen (JavaScript Object Notation) eller objektet for en streng eller XML.
string Returner strengversionen for en inputværdi.
uriComponent Returner den URI-kodede version for en inputværdi ved at erstatte URL-usikre tegn med escape-tegn.
uriComponentToBinary Returner den binære version for en URI-kodet streng.
uriComponentToString Returner strengversionen for en URI-kodet streng.
xml Returner XML-versionen for en streng.
xpath Kontrollér XML for noder eller værdier, der svarer til et XPath-udtryk (XML Path Language), og returner de matchende noder eller værdier.

Matematiske funktioner

Disse funktioner kan bruges til begge typer tal: heltal og flyder.

Matematisk funktion Task
add Returner resultatet ved at tilføje to tal.
div Returnerer resultatet ved at dividere to tal.
max Returnerer den højeste værdi fra et sæt tal eller en matrix.
min Returner den laveste værdi fra et sæt tal eller en matrix.
mod Returnerer resten fra at dividere to tal.
mul Returner produktet ved at multiplicere to tal.
rand Returnerer et tilfældigt heltal fra et angivet område.
range Returner en heltalsmatrix, der starter fra et angivet heltal.
sub Returnerer resultatet fra at trække det andet tal fra det første tal.

Dato-funktioner

Funktionen Dato eller klokkeslæt Task
addDays Føj et antal dage til et tidsstempel.
addHours Føj et antal timer til et tidsstempel.
addMinutes Føj et antal minutter til et tidsstempel.
addSeconds Føj et antal sekunder til et tidsstempel.
addToTime Føj et antal tidsenheder til et tidsstempel. Se også getFutureTime.
convertFromUtc Konvertér et tidsstempel fra UTC (Universal Time Coordinated) til måltidszonen.
convertTimeZone Konvertér et tidsstempel fra kildetidszonen til måltidszonen.
convertToUtc Konvertér et tidsstempel fra kildetidszonen til UTC (Universal Time Coordinated).
dayOfMonth Returner dag i månedskomponenten fra et tidsstempel.
dayOfWeek Returner ugedagskomponenten fra et tidsstempel.
dayOfYear Returner dag i år-komponenten fra et tidsstempel.
formatDateTime Returner tidsstemplet som en streng i valgfrit format.
getFutureTime Returner det aktuelle tidsstempel plus de angivne tidsenheder. Se også addToTime.
getPastTime Returner det aktuelle tidsstempel minus de angivne tidsenheder. Se også subtraherFraTid.
startOfDay Returner starten af dagen for et tidsstempel.
startOfHour Returner timestart for et tidsstempel.
startOfMonth Returner starten af måneden for et tidsstempel.
subtractFromTime Træk et antal tidsenheder fra et tidsstempel. Se også getPastTime.
ticks Returner egenskabsværdien ticks for et angivet tidsstempel.
utcNow Returner det aktuelle tidsstempel som en streng.