Jaa


Microsoft Fabricin Data Factory -parametrit

Tässä asiakirjassa kuvataan, miten voit käyttää parametreja Fabricin Data Factory -putkissa.

Parametrien, lausekkeiden ja funktioiden käyttäminen Fabricin Data Factory -putkissa

Tässä asiakirjassa keskitytään oppimaan peruskäsitteitä erilaisilla esimerkeillä, joiden avulla tutkimme mahdollisuutta luoda parametrisoituja tietoputkia Fabricin Data Factoryssa. Parametrisointi ja dynaamiset lausekkeet voivat säästää valtavasti aikaa ja mahdollistaa paljon joustavamman Poimi,Muunna, Lataa (ETL) tai Poimi, Lataa, Muunna (ELT) -ratkaisun, mikä pienentää merkittävästi ratkaisun ylläpitokustannuksia ja nopeuttaa uusien ominaisuuksien käyttöönottoa olemassa oleviin jaksoihin. Nämä voitot johtuvat siitä, että parametrisointi pienentää kiinteän koodauksen määrää ja kasvattaa ratkaisun uudelleenkäytettäviä objekteja ja prosesseja.

Parametri- ja lausekekäsitteet

Parametrien avulla voit välittää ulkoisia arvoja jaksoihin. Kun parametri on välitetty resurssiin, sitä ei voi muuttaa. Parametrisoimalla resursseja voit käyttää niitä uudelleen eri arvoilla joka kerta. Parametreja voidaan käyttää yksitellen tai lausekkeiden osana. Määrityksen parametriarvot voivat olla literaalia tai lausekkeita, jotka arvioidaan suorituksen aikana.

Lausekkeet voivat esiintyä missä tahansa merkkijonoarvon kohdassa, ja ne luovat aina toisen merkkijonoarvon. Tässä salasana on lausekkeen putkiparametri. Jos parametrin arvo on lauseke, lausekkeen leipäteksti poimitaan poistamalla at-sign (@). Jos literaalimerkkijono on pakollinen ja alkaa merkkijonolla @, se on poistettava käyttämällä @@-merkkiä. Seuraavissa esimerkeissä näytetään, miten lausekkeita arvioidaan.

Parametrin arvo Result
"parametrit" Merkit "parametrit" palautetaan.
"parameters[1]" Merkit "parameters[1]" palautetaan.
"@@" Yksi merkkimerkkijono, joka sisältää merkin @, palautetaan.
" @" Palautetaan 2 merkkimerkkijono, jonka sisällä on merkki @.

Lausekkeet voivat myös näkyä merkkijonojen sisällä käyttäen ominaisuutta nimeltä merkkijonon interpolointi , jossa lausekkeet rivitetään :ssa @{ ... }. Esimerkiksi seuraava merkkijono sisältää parametriarvot ja literaalimerkkijonon arvot:

"Etunimi: @{pipeline().parameters.firstName} Sukunimi: @{pipeline().parameters.lastName}"

Merkkijonon interpoloinnin avulla tulos on aina merkkijono. Jos olet esimerkiksi määrittäjä myNumber ja 42 myString muodossa foo:

Parametrin arvo Result
"@pipeline().parameters.myString" Palauttaa foo merkkijonona.
"@{pipeline().parameters.myString}" Palauttaa foo merkkijonona.
"@pipeline().parameters.myNumber" Palauttaa 42 lukuna.
"@{pipeline().parameters.myNumber}" Palauttaa 42 merkkijonona.
"Vastaus on: @{pipeline().parameters.myNumber}" Palauttaa merkkijonon Answer is: 42.
"@concat('Answer on: ', string(pipeline().parameters.myNumber))" Palauttaa merkkijonon Answer is: 42
"Vastaus on: @@{pipeline().parameters.myNumber}" Palauttaa merkkijonon Answer is: @{pipeline().parameters.myNumber}.

Esimerkkejä parametrien käytöstä lausekkeissa

Parametrien luominen ja käyttäminen

Voit luoda parametreja valitsemalla putkieditorin pohjan taustan ja sitten ominaisuudet-välilehden Parametrit-välilehden alareunassa. Valitse + Uusi -painike, jos haluat lisätä putkeen uuden parametrin, antaa sille nimen, tietotyypin ja oletusarvon:

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

Voit sitten käyttää parametria missä tahansa jakson osassa, jossa tuetaan dynaamista sisältöä. Tässä esimerkissä parametrin avulla annetaan dynaamisesti Lakehouse-tietosäilön nimi Kopioi toiminto -ominaisuussivujen Lähde-välilehdessä .

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

Näyttöön avautuu Lisää dynaaminen sisältö -ikkuna, jossa voit määrittää mitä tahansa dynaamista sisältöä, mukaan lukien parametrit, järjestelmämuuttujat, funktiot tai putkimuuttujat. Tässä esimerkissä aiemmin määritetty parametri on valittuna ja dynaamisen sisällön ikkuna täytetään automaattisesti oikealla lausekkeella viittaamaan parametriin.

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

Esimerkki monimutkaisesta lausekkeesta

Alla olevassa esimerkissä näytetään monimutkainen esimerkki, joka viittaa toiminnan tulosten syvään alikenttään. Voit viitata putkiparametriin, joka antaa tulokseksi alikentän, käyttämällä []-syntaksia dot(.)-operaattorin sijaan (kuten alikenttien alikenttä1 ja alikenttä2)

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

Dynaaminen sisältöeditori

Dynaaminen sisältöeditori ohittaa sisällön merkit automaattisesti, kun olet lopettanut muokkauksen. Esimerkiksi seuraava sisältö sisältöeditorissa on merkkijonon interpolointi lausekefunktiolla:

@{toUpper('myData')}

Dynaaminen sisältöeditori muuntaa yllä olevan sisällön seuraavaksi lausekkeeksi:

MYDATA

Funktioiden ja muuttujien käyttäminen lausekkeissa

Voit kutsua funktioita ja käyttää muuttujia lausekkeissa. Seuraavissa osissa on tietoja funktioista, joita voidaan käyttää lausekkeessa.

Putken vaikutusalueen muuttujat

Näihin järjestelmämuuttujiin voidaan viitata missä tahansa jakson JSON-tiedostossa.

Muuttujan nimi Kuvaus
@pipeline().DataFactory Sen tiedon tai Synapse-työtilan nimi, jossa putki suoritetaan
@pipeline().Pipeline Putken nimi
@pipeline().RunId Tietyn jakson suorituksen tunnus
@pipeline().TriggerId Putken käynnistämen käynnistimen tunnus
@pipeline().TriggerName Putken käynnistämen käynnistimen nimi
@pipeline().TriggerTime Putken käynnistämen käynnistimen suorituksen aika. Tämä on aika, jolloin käynnistin todella laukaistiin putken suorituksen kutsumiseksi, ja se saattaa poiketa hieman käynnistimen ajoitetusta ajasta.
@pipeline().GroupId Sen ryhmän tunnus, johon jakson suoritus kuuluu.
@pipeline()?. TriggeredByPipelineName Sen putken nimen, joka käynnistää putken suorituksen. Käytettävissä, kun ExecutePipeline-toiminto käynnistää putken suorituksen. Jos niitä käytetään muissa tilanteissa, laske arvoksi Null . Huomaa kysymysmerkki sen jälkeen @pipeline()
@pipeline()?. TriggeredByPipelineRunId Suorita sen putken tunnus, joka käynnistää putken suorituksen. Käytettävissä, kun ExecutePipeline-toiminto käynnistää putken suorituksen. Jos niitä käytetään muissa tilanteissa, laske arvoksi Null . Huomaa kysymysmerkki sen jälkeen @pipeline()

Muistiinpano

Käynnistimeen liittyvät päivämäärä- ja aikajärjestelmämuuttujat (sekä putkissa että käynnistinlaajuissa) palauttavat UTC-päivämäärät ISO 8601 -muodossa, 2017-06-01T22:20:00.4061448Zesimerkiksi .

Merkkijonofunktiot

Voit käsitellä merkkijonoja käyttämällä näitä merkkijonofunktioita ja myös kokoelmafunktioita. Merkkijonofunktiot toimivat vain merkkijonoissa.

Merkkijonofunktio Tehtävä
concat Yhdistä vähintään kaksi merkkijonoa ja palauta yhdistetty merkkijono.
endsWith Tarkista, päättyykö merkkijono määritettyyn alimerkkijonoon.
Guid Luo guiD-tunnus merkkijonona.
indexOf Palauta alimerkkijonon aloituskohta.
lastIndexOf Palauta alimerkkijonon viimeisen esiintymän aloituskohta.
replace Korvaa alimerkkijono määritetyllä merkkijonolla ja palauta päivitetty merkkijono.
split Palauta matriisi, joka sisältää pilkuilla eroteltuja alimerkkijonoja, suuremmasta merkkijonosta alkuperäisen merkkijonon määritetyn erottimen perusteella.
startsWith Tarkista, alkaako merkkijono tietyllä alimerkkijonolla.
Alimerkkijono Palauta merkit merkkijonosta aloittaen määritetystä sijainnista.
ToLower Palauta merkkijono pienin kirjaimin.
ToUpper Palauta merkkijono isoilla kirjaimilla.
Leikata Poista alussa ja lopussa olevat välilyönnit merkkijonosta ja palauta päivitetty merkkijono.

Kokoelmafunktiot

Voit käyttää kokoelmia, yleensä matriiseja, merkkijonoja ja joskus sanastoja, käyttämällä näitä kokoelmafunktioita.

Collection-funktio Tehtävä
Sisältää Tarkista, onko kokoelmalla tietty kohde.
tyhjä Tarkista, onko kokoelma tyhjä.
Ensimmäinen Palauta kokoelman ensimmäinen kohde.
Risteys Palauta kokoelma, jossa on vain määritettyjen kokoelmien yhteiset kohteet.
Liittyä Palauta merkkijono, jossa on kaikki kohteet matriisissa määritetyllä meerillä eroteltuna.
Viime Palauta viimeinen kohde kokoelmasta.
Pituus Palauta merkkijonon tai matriisin kohteiden määrä.
Ohittaa Poista kohteita kokoelman edustasta ja palauta kaikki muut kohteet.
Ottaa Palauta kohteet kokoelman edestä.
Unionin Palauta kokoelma, joka sisältää kaikki määritetyn kokoelman kohteet.

Loogiset toiminnot

Nämä funktiot ovat hyödyllisiä olosuhteiden sisällä, ja niiden avulla voidaan arvioida mitä tahansa logiikkaa.

Looginen vertailufunktio Tehtävä
and Tarkista, onko kaikki lausekkeet tosia.
Vastaa Tarkista, ovatko molemmat arvot toisiaan vastaavia.
suurempi Tarkista, onko ensimmäinen arvo suurempi kuin toinen arvo.
greaterOrEquals Tarkista, onko ensimmäinen arvo suurempi tai yhtä suuri kuin toinen arvo.
Jos Tarkista, onko lauseke tosi vai epätosi. Palauta määritetty arvo tuloksen perusteella.
vähemmän Tarkista, onko ensimmäinen arvo pienempi kuin toinen arvo.
lessOrEquals Tarkista, onko ensimmäinen arvo pienempi tai yhtä suuri kuin toinen arvo.
Ei Tarkista, onko lauseke epätosi.
tai Tarkista, onko vähintään yksi lauseke tosi.

Muuntofunktiot

Näiden funktioiden avulla muunnetaan kunkin kielen alkuperäistyypin välillä:

  • merkkijono
  • integer
  • liukuluku
  • boolean
  • Matriiseja
  • Sanakirjat
Muuntamisfunktio Tehtävä
Array Palauta matriisi yksittäisestä määritetystä syötteestä. Katso useita syötteitä kohdasta createArray.
perus64 Palauta merkkijonolle base64-koodattu versio.
base64ToBinary Palauta base64-koodatun merkkijonon binaariversio.
base64ToString Palauta base64-koodatun merkkijonon merkkijonoversio.
Binary Palauta syötearvon binaariversio.
Bool Palauta syötearvon totuusarvoversio.
coalesce Palauta ensimmäinen muu kuin tyhjäarvo yhdestä tai useammasta parametrista.
createArray Palauta matriisi useista syötettä.
dataUri Palauta syötearvon tietojen URI-osoite.
dataUriToBinary Palauta datan URI-ohjaimen binaariversio.
dataUriToString Palauta datan URI-ohjaimen merkkijonoversio.
decodeBase64 Palauta base64-koodatun merkkijonon merkkijonoversio.
decodeDataUri Palauta datan URI-ohjaimen binaariversio.
decodeUriComponent Palauta merkkijono, joka korvaa escape-merkit koodatuilla versioilla.
encodeUriComponent Palauta merkkijono, joka korvaa URL-osoitteet suojaattomat merkit escape-merkeillä.
Float Palauta liukuluku syötearvolle.
Int Palauta merkkijonon kokonaislukuversio.
Json Palauta JavaScript Object Notation (JSON) -tyyppiarvo tai -objekti merkkijonolle tai XML:lle.
Merkkijono Palauta syötearvon merkkijonoversio.
URIComponent Palauta syötearvon URI-koodattu versio korvaamalla URL-suojaamattomia merkkejä escape-merkeillä.
uriComponentToBinary Palauta URI-koodatun merkkijonon binaariversio.
URIComponentToString Palauta URI-koodatun merkkijonon merkkijonoversio.
Xml Palauta merkkijonon XML-versio.
Xpath Tarkista XML:stä solmut tai arvot, jotka vastaavat XPath (XML Path Language) -lauseketta, ja palauta vastaavat solmut tai arvot.

Matemaattiset funktiot

Näitä funktioita voidaan käyttää jommassakummassa lukutyypissä: kokonaisluvuissa ja liukuluvuissa.

Matemaattinen funktio Tehtävä
Lisää Palauta tulos kahden numeron lisäämisen jälkeen.
Div Palauta tulos kahden numeron jakamisesta.
Max Palauta suurin arvo lukujen tai matriisin joukosta.
Min Palauta pienin arvo lukujen tai matriisin joukosta.
Mod Palauta jakojääne kahden numeron jakamisesta.
Mul Palauta tuote kahden numeron kertomisesta.
Randi Palauta satunnainen kokonaisluku määritetyltä alueelta.
range Palauta kokonaislukumatriisi, joka alkaa määritetystä kokonaisluvusta.
Osa Palauta tulos toisen luvun vähentämästä ensimmäisestä luvusta.

Päivämääräfunktiot

Päivämäärä- tai aikafunktio Tehtävä
addDays Lisää aikaleimaan päivien määrä.
lisää tunnit Lisää aikaleimaan tuntimäärä.
addMinutes Lisää aikaleimaan minuuttien määrä.
addSeconds Lisää aikaleimaan sekuntien määrä.
addToTime Lisää aikayksiköiden määrä aikaleimaan. Katso myös getFutureTime.
convertFromUtc Muunna aikaleima UTC-aikavyöhykkeestä kohdeaikavyöhykkeeksi.
convertTimeZone Muunna aikaleima lähdeaikavyöhykkeestä kohdeaikavyöhykkeeksi.
convertToUtc Aikaleiman muuntaminen lähdeaikavyöhykkeestä UTC-ajaksi (Universal Time Coordinated).
dayOfMonth Palauta kuukauden päivän osa aikaleimasta.
dayOfWeek Palauta viikonpäiväosa aikaleimasta.
dayOfYear Palauta vuoden päiväosa aikaleimasta.
formatDateTime Palauta aikaleima merkkijonona valinnaisessa muodossa.
getFutureTime Palauta nykyinen aikaleima ja määritetyt aikayksiköt. Katso myös addToTime.
getPastTime Palauta nykyinen aikaleima vähennettynä määritetyillä aikayksiköillä. Katso myös subtractFromTime.
startOfDay Palauta aikaleima päivän alkuun.
startOfHour Palauta tunnin alku aikaleimalle.
startOfMonth Palauta aikaleima kuukauden alkuun.
subtractFromTime Vähentää aikayksiköiden määrän aikaleimasta. Katso myös getPastTime.
Punkit Palauta määritetyn ticks aikaleiman ominaisuuden arvo.
utcNow Palauta nykyinen aikaleima merkkijonona.