Bemærk
Adgang til denne side kræver godkendelse. Du kan prøve at logge på eller ændre mapper.
Adgang til denne side kræver godkendelse. Du kan prøve at ændre mapper.
Denne artikel viser dig, hvordan du bruger parametre i dine Data Factory-pipelines i Fabric, så du kan bygge fleksible, genanvendelige arbejdsgange.
Brug parametre, udtryk og funktioner i Data Factory-pipelines
Dette afsnit guider dig gennem det grundlæggende i at skabe parameteriserede pipelines i Data Factory for Fabric, med klare eksempler undervejs. Parametre og dynamiske udtryk sparer tid og lader dig bygge fleksible Extract, Transform, Load (ETL) eller Extract, Load, Transform (ELT) løsninger. De reducerer hard coding og lader dig genbruge objekter og processer, hvilket gør pipelines lettere at vedligeholde og gør det muligt at lancere nye funktioner hurtigere.
Parameter- og udtryksbegreber
Du kan bruge parametre til at overføre eksterne værdier til dine pipelines. Efter du har sat en parameter, forbliver dens værdi den samme gennem hele runnet. Parametre lader dig genbruge den samme pipeline med forskellige værdier hver gang. Du kan bruge parametre alene eller interne udtryk, med værdier, der enten er faste eller beregnet, 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, fjern @-punktet for at få det faktiske indhold. For at bruge en streng, der starter med @, kan du slippe væk fra den ved at skrive @@. Følgende eksempler 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å optræde inde i strenge gennem strenginterpolation, hvor du pakker udtryk ind i @{ ... }. Følgende streng indeholder f.eks. parameterværdier og konstantstrengværdier:
"Fornavn: @{pipeline().parameters.firstName} Efternavn: @{pipeline().parameters.lastName}"
Strenginterpolation returnerer altid en streng. For eksempel, hvis du definerer 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å parameterudtryk
Opret og brug parametre
For at oprette parametre skal du vælge baggrunden i pipeline-editorens lærred, og derefter vælge fanen Parametre i egenskabsvinduet nederst. Vælg + Ny for at tilføje en parameter til pipelinen, og giv den et navn, en datatype og en standardværdi:
Du kan så bruge parameteren hvor som helst, hvor din pipeline understøtter dynamisk indhold. I dette eksempel giver parameteren dynamisk navnet på et lakehouse-datalager på fanen Source på en Copy activity's egenskabssider.
Vinduet Tilføj dynamisk indhold åbnes. Brug den til at specificere enhver form for dynamisk indhold, herunder parametre, systemvariabler, funktioner eller pipeline-variabler. I dette eksempel vælger du den parameter, du definerede tidligere, og det dynamiske indholdsvindue udfyldes automatisk med det korrekte udtryk til reference.
Parametriser forbindelser
For at parametrisere forbindelser i pipelines skal du bruge den globalt unikke identifikator (GUID) for den forbindelse, du ønsker at udskifte dynamisk.
- Før du dynamisk ændrer forbindelsen i din pipeline, skal du få GUID for den forbindelse, du vil sætte.
- Gå til Indstillinger>Administrer forbindelser og gateways.
- Find forbindelsesnavnet og vælg ellipsen (...) ved siden af.
- Vælg Indstillinger og kopier forbindelses-ID'et.
- Indsæt GUID'en i en strengparameter, og referer til den parameter i dit dynamiske udtryk.
Eksempel på komplekst udtryk
Følgende udtryk refererer til et dybt underfelt af aktivitetsoutput. For at referere til en pipeline-parameter, der evaluerer til et delfelt, brug [] syntaks i stedet for dot (.)-operatoren, 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 funktioner og variable 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
Du kan referere til disse systemvariabler hvor som helst i pipeline-JSON'en.
| Variabelnavn | Description |
|---|---|
| @pipeline().DataFactory | Navnet på det arbejdsområde, hvor pipeline-kørslen kører |
| @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. Denne værdi er det tidspunkt, hvor triggeren faktisk blev affyret for at påkalde pipeline-kørslen, og den kan afvige en smule fra triggerens planlagte tidspunkt. |
| @pipeline().GroupId | ID for gruppen, som pipeline-kørslen tilhører. I Microsoft Fabric er en gruppe en samling af relaterede ressourcer, som I administrerer sammen. Grupper organiserer og kontrollerer adgang til ressourcer, hvilket gør det lettere 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 en Execute Pipeline-aktivitet udløser pipeline-kørselen. Evaluerer til Null i andre tilfælde. 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 en Execute Pipeline-aktivitet udløser pipeline-kørselen. Evaluerer til Null i andre tilfælde. Bemærk spørgsmålstegnet efter @pipeline(). |
Note
Trigger-relaterede dato/tids-systemvariabler (både i pipeline- og triggerscope) returnerer Coordinated Universal Time (UTC) datoer i ISO 8601-format, for eksempel, 2017-06-01T22:20:00.4061448Z.
Streng funktioner
For at arbejde med strenge skal du bruge disse strengfunktioner og også 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
For at arbejde med samlinger som arrays, strenge og ordbøger, brug 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
Brug disse funktioner inden for betingelser 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
Brug disse funktioner til at konvertere mellem hver af de oprindelige typer i 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
Brug disse funktioner med begge typer tal: heltal og floats.
| 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 | Konverter et tidsstempel fra Coordinated Universal Time (UTC) til måltidszonen. |
| convertTimeZone | Konvertér et tidsstempel fra kildetidszonen til måltidszonen. |
| convertToUtc | Konverter et tidsstempel fra kildens tidszone til Coordinated Universal Time (UTC). |
| 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. |