Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In dit artikel leest u hoe u parameters gebruikt in uw Data Factory-pijplijnen in Fabric, zodat u flexibele, herbruikbare werkstromen kunt bouwen.
Parameters, expressies en functies gebruiken in Data Factory-pijplijnen
In deze sectie wordt u begeleid bij de basisbeginselen van het maken van geparameteriseerde pijplijnen in Data Factory voor Fabric, met behulp van duidelijke voorbeelden. Met parameters en dynamische expressies bespaart u tijd en kunt u flexibele extraheren,transformeren, laden (ETL) of extraheren, laden, transformeren (ELT)-oplossingen (ELT) bouwen. Ze verminderen hard coderen en maken het mogelijk om objecten en processen opnieuw te gebruiken, waardoor pijplijnen gemakkelijker te onderhouden zijn en waarmee u sneller nieuwe functies kunt verzenden.
Concepten van parameters en expressies
U kunt parameters gebruiken om externe waarden door te geven aan uw pijplijnen. Nadat u een parameter hebt ingesteld, blijft de waarde gedurende de uitvoering hetzelfde. Met parameters kunt u elke keer dezelfde pijplijn met verschillende waarden opnieuw gebruiken. U kunt parameters afzonderlijk of in expressies gebruiken, met waarden die vast zijn of worden berekend wanneer de pijplijn wordt uitgevoerd.
Expressies kunnen overal in een tekenreekswaarde gaan en altijd een andere tekenreekswaarde retourneren. Als u bijvoorbeeld gebruikt @password, behandelt de pijplijn het wachtwoord als een parameter. Als de waarde een expressie is, verwijdert u het @ om de werkelijke inhoud op te halen. Als u een tekenreeks wilt gebruiken die begint met @, escapet u deze door @@te typen. In de volgende voorbeelden ziet u hoe dit in de praktijk werkt.
| Parameterwaarde | Result |
|---|---|
| "parameters" | De karakters 'parameters' worden geretourneerd. |
| "parameters[1]" | De karakters 'parameters[1]' worden geretourneerd. |
| "@@" | Er wordt een tekenreeks van 1 teken die '@' bevat teruggegeven. |
| " @" | Er wordt een tekenreeks van 2 tekens geretourneerd die @bevat. |
Expressies kunnen ook worden weergegeven in tekenreeksen via tekenreeksinterpolatie, waarin u expressies inpakt @{ ... }. De volgende tekenreeks bevat bijvoorbeeld parameterwaarden en letterlijke tekenreekswaarden:
"Voornaam: @{pipeline().parameters.firstName} Achternaam: @{pipeline().parameters.lastName}"
Tekenreeksinterpolatie retourneert altijd een tekenreeks. Als u bijvoorbeeld definieert myNumber als 42 en myString als foo:
| Parameterwaarde | Result |
|---|---|
| "@pipeline().parameters.myString" | Retourneert foo als tekst. |
| "@{pipeline().parameters.myString}" | Retourneert foo als tekst. |
| "@pipeline().parameters.myNumber" | Retourneert 42 als een getal. |
| "@{pipeline().parameters.myNumber}" | Retourneert 42 als een tekenreeks. |
| "Antwoord is: @{pipeline().parameters.myNumber}" | Retourneert de tekenreeks Answer is: 42. |
| "@concat('Het antwoord is: ', string(pipeline().parameters.myNumber))" | Retourneert de tekenreeks Answer is: 42 |
| "Antwoord is: @@{pipeline().parameters.myNumber}" | Retourneert de tekenreeks Answer is: @{pipeline().parameters.myNumber}. |
Voorbeelden van parameterexpressie
Parameters maken en gebruiken
Als u parameters wilt maken, selecteert u de achtergrond van het canvas van de pijplijneditor en selecteert u vervolgens het tabblad Parameters van het eigenschappenvenster onderaan. Selecteer + Nieuw om een parameter toe te voegen aan de pijplijn en geef deze een naam, een gegevenstype en een standaardwaarde:
Vervolgens kunt u de parameter overal gebruiken waar uw pijplijn dynamische inhoud ondersteunt. In dit voorbeeld geeft de parameter dynamisch de naam van een Lakehouse-gegevensarchief op het tabblad Bron van de eigenschappenpagina's van een Copy-activiteit.
Het venster Dynamische inhoud toevoegen wordt geopend. Gebruik deze om elk type dynamische inhoud op te geven, waaronder parameters, systeemvariabelen, functies of pijplijnvariabelen. In dit voorbeeld selecteert u de parameter die u eerder hebt gedefinieerd en het venster met dynamische inhoud wordt automatisch gevuld met de juiste expressie om ernaar te verwijzen.
Verbindingen parameteriseren
Als u verbindingen in pijplijnen wilt parameteriseren, gebruikt u de GUID (Globally Unique Identifier) van de verbinding die u dynamisch wilt vervangen.
- Voordat u de verbinding in uw pijplijn dynamisch wijzigt, haalt u de GUID op van de verbinding die u wilt instellen.
- Ga naar Instellingen>: verbindingen en gateways beheren.
- Zoek de verbindingsnaam en selecteer het beletselteken (...) ernaast.
- Selecteer Instellingen en kopieer de verbindings-id.
- Plak de GUID in een tekenreeksparameter en verwijs naar die parameter in uw dynamische expressie.
Voorbeeld van complexe expressie
De volgende expressie verwijst naar een diep subveld van activiteitsuitvoer. Als u wilt verwijzen naar een pijplijnparameter die naar een subveld evalueert, gebruikt u [] de syntaxis in plaats van de punt-operator (.), zoals bij subfield1 en subfield2.
@activity('*activityName*').output.*subfield1*.*subfield2*[pipeline().parameters.*subfield3*].*subfield4*
Dynamische inhoudseditor
De dynamische inhoudseditor vervangt automatisch tekens in uw inhoud na het bewerken. De volgende inhoud in de inhoudseditor is bijvoorbeeld een tekenreeksinterpolatie met een expressiefunctie:
@{toUpper('myData')}
De dynamische inhoudseditor converteert de vorige inhoud naar de volgende expressie:
MYDATA
Functies en variabelen gebruiken in expressies
U kunt functies aanroepen en variabelen in expressies gebruiken. De volgende secties bevatten informatie over de functies die kunnen worden gebruikt in een expressie.
Variabelen voor pijplijnbereik
U kunt overal in de pijplijn-JSON naar deze systeemvariabelen verwijzen.
| Variabelenaam | Description |
|---|---|
| @pipeline().DataFactory | Naam van de werkruimte waarop de pijplijnuitvoering wordt uitgevoerd |
| @pipeline().Pipeline | Naam van de pijplijn |
| @pipeline().RunId | ID van de specifieke pijplijnuitvoering |
| @pipeline().TriggerId | Id van de trigger die de pijplijn heeft aangeroepen |
| @pipeline().TriggerName | Naam van de trigger die de pijplijn heeft aangeroepen |
| @pipeline().TriggerTime | Tijd van de triggeractie die de pijplijn heeft opgestart. Deze waarde is het tijdstip waarop de trigger daadwerkelijk wordt geactiveerd om de pijplijnuitvoering aan te roepen en dit kan enigszins afwijken van de geplande tijd van de trigger. |
| @pipeline().GroupId | Id van de groep waartoe de pijplijnuitvoering behoort. In Microsoft Fabric is een groep een verzameling gerelateerde resources die u samen beheert. Groepen organiseren en beheren de toegang tot resources, waardoor het eenvoudiger is om machtigingen te beheren en activiteiten in meerdere pijplijnen te bewaken. |
| @pipeline()?. TriggeredByPipelineName | Naam van de pijplijn die de pijplijnuitvoering activeert. Is van toepassing wanneer een Execute Pipeline-activiteit de pijplijnuitvoering activeert. Levert in andere gevallen Null op. Let op het vraagteken na @pipeline(). |
| @pipeline()?. TriggeredByPipelineRunId | De run-ID van de pijplijn die de pijplijnrun activeert. Is van toepassing wanneer een Execute Pipeline-activiteit de pijplijnuitvoering activeert. Resulteert in andere gevallen in Null. Let op het vraagteken na @pipeline(). |
Note
Triggergerelateerde systeemvariabelen (in zowel het pijplijn- als triggerbereik) geven UTC-datums terug in ISO 8601-indeling, bijvoorbeeld 2017-06-01T22:20:00.4061448Z.
Stringfuncties
Als u met tekenreeksen wilt werken, gebruikt u deze tekenreeksfuncties en ook enkele verzamelingsfuncties. Tekenreeksfuncties werken alleen op tekenreeksen.
| Tekenreeksfunctie | Task |
|---|---|
| concat | Combineer twee of meer tekenreeksen en retourneer de gecombineerde tekenreeks. |
| endsWith | Controleer of een tekenreeks eindigt met de opgegeven subtekenreeks. |
| guid | Genereer een GUID (Globally Unique Identifier) als een tekenreeks. |
| indexOf | Geef de beginpositie van een subtekenreeks terug. |
| lastIndexOf | Retourneert de beginpositie voor de laatste keer dat een subtekenreeks voorkomt. |
| replace | Vervang een subtekenreeks door de opgegeven tekenreeks en retourneer de bijgewerkte tekenreeks. |
| split | Retourneert een matrix die subtekenreeksen bevat, gescheiden door komma's, van een grotere tekenreeks op basis van een opgegeven scheidingsteken in de oorspronkelijke tekenreeks. |
| startsWith | Controleer of een tekenreeks begint met een specifieke subtekenreeks. |
| substring | Retourneert tekens uit een tekenreeks, beginnend vanaf de opgegeven positie. |
| toLower | Retourneert een tekenreeks in kleineletterformaat. |
| toUpper | Retourneert een tekenreeks in hoofdletters. |
| trim | Verwijder voorloop- en volgspaties uit een tekenreeks en retourneer de bijgewerkte tekenreeks. |
Verzamelingsfuncties
Als u wilt werken met verzamelingen zoals matrices, tekenreeksen en woordenlijsten, gebruikt u deze verzamelingsfuncties.
| Verzamelingsfunctie | Task |
|---|---|
| contains | Controleer of een verzameling een specifiek item heeft. |
| empty | Controleer of een verzameling leeg is. |
| first | Retourneert het eerste item uit een verzameling. |
| intersection | Retourneert een verzameling met alleen de algemene items in de opgegeven verzamelingen. |
| join | Hiermee wordt een tekenreeks geretourneerd die alle items uit een matrix bevat, gescheiden door het opgegeven teken. |
| last | Retourneer het laatste item uit een verzameling. |
| length | Retourneert het aantal items in een tekenreeks of tabel. |
| skip | Verwijder items aan de voorzijde van een verzameling en retourneer alle andere items. |
| take | Artikelen terughalen van de voorkant van een verzameling. |
| union | Hiermee wordt een verzameling geretourneerd die alle items uit de opgegeven verzamelingen bevat. |
Logische functies
Gebruik deze functies binnen voorwaarden om elk type logica te evalueren.
| Logische vergelijkingsfunctie | Task |
|---|---|
| and | Controleer of alle expressies waar zijn. |
| equals | Controleer of beide waarden gelijkwaardig zijn. |
| greater | Controleer of de eerste waarde groter is dan de tweede waarde. |
| greaterOrEquals | Controleer of de eerste waarde groter is dan of gelijk is aan de tweede waarde. |
| if | Controleer of een expressie waar of onwaar is. Op basis van het resultaat retourneert u een opgegeven waarde. |
| less | Controleer of de eerste waarde kleiner is dan de tweede waarde. |
| lessOrEquals | Controleer of de eerste waarde kleiner is dan of gelijk is aan de tweede waarde. |
| not | Controleer of een expressie onwaar is. |
| or | Controleer of ten minste één expressie waar is. |
Conversiefuncties
Gebruik deze functies om tussen alle ingebouwde typen van de taal te converteren:
- string
- integer
- float
- boolean
- arrays
- dictionaries
| Conversiefunctie | Task |
|---|---|
| array | Retourneert een matrix van één opgegeven invoer. Zie CreateArray voor meerdere invoerwaarden. |
| base64 | Retourneert de base64-gecodeerde versie voor een tekenreeks. |
| base64ToBinary | Retourneert de binaire versie voor een met base64 gecodeerde tekenreeks. |
| base64ToString | Retourneert de tekenreeksversie voor een met base64 gecodeerde tekenreeks. |
| binary | Retourneert de binaire versie van een invoerwaarde. |
| bool | Retourneert de Boole-versie voor een invoerwaarde. |
| coalesce | Retourneert de eerste niet-null-waarde van een of meer parameters. |
| createArray | Retourneert een matrix van meerdere invoerwaarden. |
| dataUri | Retourneert de gegevens-URI voor een invoerwaarde. |
| dataUriToBinary | Retourneer de binaire versie van een gegevens-URI. |
| dataUriToString | Retourneert de tekenreeksversie voor een gegevens-URI. |
| decodeBase64 | Retourneert de tekenreeksversie voor een met base64 gecodeerde tekenreeks. |
| decodeDataUri | Retourneer de binaire versie van een gegevens-URI. |
| decodeUriComponent | Retourneert een tekenreeks die escape-tekens vervangt door gedecodeerde versies. |
| encodeUriComponent | Retourneert een tekenreeks die URL-onveilige tekens vervangt door escapetekens. |
| float | Geef een kommagetal voor een invoerwaarde. |
| int | Retourneert de integer-versie van een tekenreeks. |
| json | Retourneert de JSON-typewaarde (JavaScript Object Notation) of het object voor een tekenreeks of XML. |
| string | Retourneert de tekenreeksversie voor een invoerwaarde. |
| uriComponent | Retourneert de URI-gecodeerde versie voor een invoerwaarde door URL-onveilige tekens te vervangen door escapetekens. |
| uriComponentToBinary | Retourneert de binaire versie voor een URI-gecodeerde tekenreeks. |
| uriComponentToString | Retourneert de tekenreeksversie voor een URI-gecodeerde tekenreeks. |
| xml | Retourneer de XML-versie voor een tekenreeks. |
| xpath | Controleer XML op knooppunten of waarden die overeenkomen met een XPath-expressie (XML Path Language) en retourneer de overeenkomende knooppunten of waarden. |
Wiskundige functies
Gebruik deze functies met beide typen getallen: gehele getallen en floats.
| Wiskundige functie | Task |
|---|---|
| add | Retourneert het resultaat van het optellen van twee getallen. |
| div | Retourneert het resultaat van het delen van twee getallen. |
| max | Retourneert de hoogste waarde uit een set getallen of een matrix. |
| min | Retourneert de laagste waarde uit een set getallen of een matrix. |
| mod | Retourneert de rest van het delen van twee getallen. |
| mul | Retourneer het product door twee getallen te vermenigvuldigen. |
| rand | Retourneert een willekeurig geheel getal uit een opgegeven bereik. |
| range | Retourneert een matrix met gehele getallen die begint met een opgegeven geheel getal. |
| sub | Retourneert het resultaat van het aftrekken van het tweede getal van het eerste getal. |
Datumfuncties
| Datum- of tijdfunctie | Task |
|---|---|
| addDays | Voeg een aantal dagen toe aan een tijdstempel. |
| addHours | Voeg een aantal uren toe aan een tijdstempel. |
| addMinutes | Voeg een aantal minuten toe aan een tijdstempel. |
| addSeconds | Voeg een aantal seconden toe aan een tijdstempel. |
| addToTime | Voeg een aantal tijdseenheden toe aan een tijdstempel. Zie ook getFutureTime. |
| convertFromUtc | Converteer een tijdstempel van Coordinated Universal Time (UTC) naar de doeltijdzone. |
| convertTimeZone | Converteer een tijdstempel van de brontijdzone naar de doeltijdzone. |
| convertToUtc | Converteer een tijdstempel van de brontijdzone naar Coordinated Universal Time (UTC). |
| dayOfMonth | Retourneer de dag van het maandonderdeel uit een tijdstempel. |
| dayOfWeek | Retourneert de dag van de weekcomponent uit een tijdstempel. |
| dayOfYear | Retourneer de dag van het jaaronderdeel uit een tijdstempel. |
| formatDateTime | Retourneert de tijdstempel als een tekenreeks in optionele notatie. |
| getFutureTime | Retourneer de huidige tijdstempel plus de opgegeven tijdseenheden. Zie ook addToTime. |
| getPastTime | Retourneert de huidige tijdstempel minus de opgegeven tijdseenheden. Zie ook aftrekkenVanTijd. |
| startOfDay | Retourneer het begin van de dag voor een tijdstempel. |
| startOfHour | Retourneert het begin van het uur voor een tijdstempel. |
| startOfMonth | Retourneer het begin van de maand voor een tijdstempel. |
| subtractFromTime | Trek een aantal tijdseenheden af van een tijdstempel. Zie ook getPastTime. |
| ticks | Retourneert de ticks eigenschapswaarde voor een opgegeven tijdstempel. |
| utcNow | Retourneert de huidige tijdstempel als een tekenreeks. |