Parametre pre službu Data Factory v službe Microsoft Fabric
Tento dokument popisuje, ako používať parametre v kanáloch služby Data Factory v službe Fabric.
Používanie parametrov, výrazov a funkcií v kanáloch služby Data Factory v službe Fabric
V tomto dokumente sa zameriavame na základné koncepty s rôznymi príkladmi, aby sme preskúmali možnosť vytvorenia parametrizovaných údajových kanálov v rámci služby Data Factory v službe Fabric. Parametrizácia a dynamické výrazy môžu ušetriť obrovské množstvo času a umožniť oveľa flexibilnejšie riešenie typu Extract, Transform, Load (ETL) alebo Extract, Load, Transform (ELT), čo výrazne znižuje náklady na údržbu riešení a urýchli implementáciu nových funkcií do existujúcich kanálov. Sú to preto, že parametrizácia minimalizuje množstvo pevného kódovania a zvyšuje počet opätovne použiteľných objektov a procesov v riešení.
Koncepty parametrov a výrazov
Pomocou parametrov môžete do kanálov odovzdať externé hodnoty. Keď je parameter odovzdaný do zdroja, nedá sa zmeniť. Parametrizovaním zdrojov ich môžete zakaždým znova použiť s rôznymi hodnotami. Parametre možno použiť jednotlivo alebo ako súčasť výrazov. Hodnoty parametrov v definícii môžu byť literál alebo výrazy, ktoré sa vyhodnocujú v režime runtime.
Výrazy sa môžu zobrazovať kdekoľvek v hodnote reťazca a vždy vygenerovať inú hodnotu reťazca. Tu je heslo parameter kanála vo výraze. Ak je hodnota parametra výrazom, telo výrazu sa extrahuje odstránením znaku @. Ak je potrebný reťazec literálu, ktorý sa začína reťazcom @, musí byť vytvorený pomocou @@. V nasledujúcich príkladoch je uvedené, ako sa vyhodnocujú výrazy.
Hodnota parametra | Výsledok |
---|---|
"parametre" | Vrátia sa znaky "parametre". |
"parametre[1]" | Vrátia sa znaky "parametre[1]. |
"@@" | Vráti sa jeden znak reťazca, ktorý obsahuje znak @. |
" @" | Vráti sa reťazec 2 znakov, ktorý obsahuje znak @. |
Výrazy sa môžu zobraziť aj v reťazcoch pomocou funkcie s názvom interpolácie reťazca, kde sú výrazy zabalené do @{ ... }
. Nasledujúci reťazec napríklad obsahuje hodnoty parametrov a hodnoty literálového reťazca:
"Meno: @{pipeline().parameters.firstName} Last Name: @{pipeline().parameters.lastName}"
Výsledkom interpolácie reťazca je vždy reťazec. Ak ste napríklad definovali myNumber
ako 42
a myString
ako foo
:
Hodnota parametra | Výsledok |
---|---|
"@pipeline().parameters.myString" | Vráti foo ako reťazec. |
"@{pipeline().parameters.myString}" | Vráti foo ako reťazec. |
"@pipeline().parameters.myNumber" | Vráti 42 ako číslo . |
"@{pipeline().parameters.myNumber}" | Vráti |
Odpoveď je: @{pipeline().parameters.myNumber}" | Vráti reťazec Answer is: 42 . |
"@concat('Odpoveď je: ', string(pipeline().parameters.myNumber))" | Vráti reťazec Answer is: 42 |
Odpoveď je: @@{pipeline().parameters.myNumber}" | Vráti reťazec Answer is: @{pipeline().parameters.myNumber} . |
Príklady použitia parametrov vo výrazoch
Vytváranie a používanie parametrov
Ak chcete vytvoriť parametre, vyberte pozadie plátna editora kanála a potom kartu Parametre karty okna Vlastnosti v dolnej časti. Vyberte tlačidlo + Nový a pridajte doň nový parameter, pomenujte ho, typ údajov a predvolenú hodnotu:
Potom môžete parameter použiť kdekoľvek vo svojom kanáli, kde je podporovaný dynamický obsah. V tomto príklade sa parameter používa na dynamické zadanie názvu ukladacieho priestoru údajov Lakehouse na karte zdroja
Zobrazí sa okno Pridať dynamický obsah, ktoré vám umožní zadať akýkoľvek druh dynamického obsahu vrátane parametrov, systémových premenných, funkciíalebo premenných kanálov. V tomto príklade je vybratý predtým definovaný parameter a v okne s dynamickým obsahom sa automaticky vyplní správny výraz, ktorý odkazuje na parameter.
Príklad komplexného výrazu
Nasledujúci príklad ukazuje zložitý príklad, ktorý odkazuje na hlboké podpolo výstupu aktivity. Ak chcete odkazovať na parameter kanála, ktorý sa vyhodnotí ako podpolo, použite syntax [] namiesto operátora dot(.) (ako pri podpole1 a subfield2).
@activity('*activityName*').output.*subfield1*.*subfield2*[pipeline().parameters.*subfield3*].*subfield4*
Editor dynamického obsahu
Keď dokončíte úpravu, editor dynamického obsahu automaticky odstráni znaky vo vašom obsahu. Napríklad nasledujúci obsah v editore obsahu je interpolácia reťazca s funkciou výrazu:
@{toUpper('myData')}
Editor dynamického obsahu skonvertuje predchádzajúci obsah na nasledujúci výraz:
MYDATA
Používanie funkcií a premenných vo výrazoch
Môžete volať funkcie a používať premenné v rámci výrazov. Nasledujúce časti poskytujú informácie o funkciách, ktoré možno použiť vo výraze.
Premenné rozsahu kanála
Na tieto systémové premenné možno odkazovať kdekoľvek v kanáli JSON.
Názov premennej | Popis |
---|---|
@pipeline().DataFactory | Názov údajov alebo pracovného priestoru Synapse, v rámci ktorý je spustený kanál |
@pipeline().Pipeline | Názov kanála |
@pipeline().RunId | ID konkrétneho spustenia kanála |
@pipeline().TriggerId | ID spúšťača, ktorý vyvolá kanál |
@pipeline().TriggerName | Názov spúšťača, ktorý vyvolá kanál |
@pipeline().TriggerTime | Čas spustenia spúšťača, ktorý vyvolá kanál. Toto je čas, kedy spúšťač v skutočnosti aktivovaný na vyvolanie spustenia kanála, a môže sa mierne líšiť od plánovaného času spúšťača. |
@pipeline().GroupId | ID skupiny, do ktorej spustenie kanála patrí. V službe Microsoft Fabric "skupina" odkazuje na kolekciu súvisiacich zdrojov, ktoré je možné spravovať spoločne. Skupiny sa používajú na organizovanie a riadenie prístupu k zdrojom, čím sa zjednodušuje správa povolení a monitorovanie aktivít v rámci viacerých kanálov. |
@pipeline()?. TriggeredByPipelineName | Názov kanála, ktorým sa spustí spustenie kanála. Použiteľné, keď sa spustenie kanála spustí aktivitou ExecutePipeline. Pri použití za iných okolností sa vyhodnotia ako hodnoty Null. Všimnite si otáznik po @pipeline() |
@pipeline()?. TriggeredByPipelineRunId | ID spustenia kanála, ktorým sa spustí spustenie kanála. Použiteľné, keď sa spustenie kanála spustí aktivitou ExecutePipeline. Pri použití za iných okolností sa vyhodnotia ako hodnoty Null. Všimnite si otáznik po @pipeline() |
Nota
Systémové premenné dátumu a času súvisiace so spúšťačom (v rozsahu kanálov aj spúšťačov) vracajú dátumy utc vo formáte ISO 8601, napríklad 2017-06-01T22:20:00.4061448Z
.
Funkcie reťazcov
Ak chcete pracovať s reťazcami, môžete použiť tieto funkcie reťazcov a tiež niektoré funkcie kolekcie . Funkcie reťazcov fungujú iba s reťazcami.
Funkcia String | Úloha |
---|---|
Skombinujte dva alebo viacero reťazcov a vráťte kombinovaný reťazec. | |
endsWith | Skontrolujte, či reťazec končí zadaným podreťazecom. |
identifikátora guid |
Vygenerujte globálne jedinečný identifikátor (GUID) ako reťazec. |
index V | Vráti počiatočnú pozíciu podreťazca. |
lastIndexOf | Vráti počiatočnú pozíciu pre posledný výskyt podreťazca. |
nahradenie | Nahraďte podreťazec zadaným reťazcom a vráťte aktualizovaný reťazec. |
rozdelenie | Vráťte pole, ktoré obsahuje podreťazce oddelené čiarkami od väčšieho reťazca na základe zadaného znaku oddeľovača v pôvodnom reťazci. |
startsWith | Skontrolujte, či reťazec začína konkrétnym podreťazecom. |
podreťazca |
Vráti znaky z reťazca počnúc zadanou pozíciou. |
povoľte | Vráťte reťazec vo formáte malým písmenom. |
na večera | Vráti reťazec vo formáte s veľkými písmenami. |
orezania | Odstráňte úvodný aj koncový prázdny znak z reťazca a vráťte aktualizovaný reťazec. |
Funkcie kolekcie
Ak chcete pracovať s kolekciami, všeobecne poľami, reťazcami a niekedy slovníkmi, môžete použiť tieto funkcie kolekcie.
Funkcia Collection | Úloha |
---|---|
obsahuje | Skontrolujte, či kolekcia obsahuje konkrétnu položku. |
prázdna | Skontrolujte, či je kolekcia prázdna. |
prvý | Vráťte prvú položku z kolekcie. |
priesečník | Vráťte kolekciu, ktorá iba bežných položiek v zadaných kolekciách. |
pripojenie k | Vráťte reťazec, ktorý všetky položky z poľa oddelené zadaným znakom. |
posledný | Vráti poslednú položku z kolekcie. |
dĺžky |
Vráti počet položiek v reťazci alebo poli. |
vynechať | Odstráňte položky z prednej časti kolekcie a vráťte všetky ostatné položky. |
vezmite | Vrátiť položky z prednej časti kolekcie. |
zjednotenia | Vráti kolekciu, ktorá všetky položky zo zadaných kolekcií. |
Logické funkcie
Tieto funkcie sú užitočné v rámci podmienok, možno ich použiť na vyhodnotenie akéhokoľvek typu logiky.
Funkcia logického porovnávania | Úloha |
---|---|
a | Skontrolujte, či sú všetky výrazy pravdivé. |
rovná sa | Skontrolujte, či sú obe hodnoty rovnocenné. |
väčšie | Skontrolujte, či je prvá hodnota väčšia ako druhá hodnota. |
greaterOrEquals | Skontrolujte, či je prvá hodnota väčšia alebo rovná druhej hodnote. |
ak | Skontrolujte, či je výraz pravdivý alebo nepravdivý. Na základe výsledku vráťte zadanú hodnotu. |
menej | Skontrolujte, či je prvá hodnota menšia ako druhá hodnota. |
menšieOrRovná sa | Skontrolujte, či je prvá hodnota menšia alebo rovná druhej hodnote. |
Skontrolujte, či je výraz nepravdivý. | |
alebo | Skontrolujte, či je aspoň jeden výraz pravdivý. |
Funkcie konverzie
Tieto funkcie sa používajú na konvertovanie medzi jednotlivými natívnymi typmi v jazyku:
- povrázok
- celé číslo
- plávať
- Boolean
- Polia
- Slovníky
Funkcia konverzie | Úloha |
---|---|
polí |
Vráti pole z jedného zadaného vstupu. Viacero vstupov nájdete v téme createArray. |
base64 |
Vráťte verziu s kódovaním base64 pre reťazec. |
base64ToBinary | Vráti binárnu verziu reťazca s kódovaním base64. |
base64ToString |
Vrátenie verzie reťazca pre reťazec s kódovaním base64. |
binárnych | Vrátenie binárnej verzie pre vstupnú hodnotu. |
|
Vrátiť booleovskú verziu vstupnej hodnoty. |
coalesce | Vráťte prvú hodnotu bez hodnoty null z jedného alebo viacerých parametrov. |
createArray | Vráti pole z viacerých vstupov. |
identifikátor dataUri | Vrátenie identifikátora URI údajov pre vstupnú hodnotu. |
dataUriToBinary | Vráti binárnu verziu identifikátora URI údajov. |
dataUriToString | Vrátiť verziu reťazca pre identifikátor URI údajov. |
dekódovanieBase64 | Vrátenie verzie reťazca pre reťazec s kódovaním base64. |
dekódovať identifikátoryÚdajov | Vráti binárnu verziu identifikátora URI údajov. |
dekódovanieurikomponentných | Vrátiť reťazec, ktorý nahradí koncové znaky dekódovanými verziami. |
kódovačUriComponent | Vráťte reťazec, ktorý nahradí nebezpečné znaky URL adresy koncovými znakmi. |
pohyblivou | Vrátenie čísla s pohyblivou desatinnou čiarkou pre vstupnú hodnotu. |
Vráti celočíselnú verziu reťazca. | |
json | Vráťte hodnotu alebo objekt typu JavaScript Object Notation (JSON) pre reťazec alebo XML. |
reťazca |
Vrátenie verzie reťazca pre vstupnú hodnotu. |
URIComponent | Vrátiť verziu zakódovanú identifikátorom URI pre vstupnú hodnotu nahradením nebezpečných znakov URL adries koncovými znakmi. |
uriComponentToBinary | Vráti binárnu verziu reťazca kódovaného identifikátorom URI. |
uriComponentToString |
Vrátenie verzie reťazca pre reťazec kódovaný identifikátorom URI. |
xml |
Vrátenie verzie XML pre reťazec. |
xpath | Skontrolujte xml uzly alebo hodnoty, ktoré zodpovedajú výrazu XPath (XML Path Language), a vrátia zodpovedajúce uzly alebo hodnoty. |
Matematické funkcie
Tieto funkcie možno použiť pre oba typy čísel: celé čísla a plávajú.
Matematické funkcie | Úloha |
---|---|
pridanie | Vráti výsledok sčítaním dvoch čísel. |
Vráti výsledok delenia dvoch čísel. | |
maximálny |
Vráti najvyššiu hodnotu z množiny čísel alebo poľa. |
min | Vrátenie najnižšej hodnoty z množiny čísel alebo poľa. |
režimu |
Vráti zvyšok po delení dvoch čísel. |
Vráti produkt z vynásobenia dvoch čísel. | |
|
Vráti náhodné celé číslo zo zadaného rozsahu. |
rozsahu |
Vráti celočíselné pole, ktoré sa začína zo zadaného celého čísla. |
vedľajší | Vráti výsledok od odpočítania druhého čísla od prvého čísla. |
Dátumové funkcie
Funkcia dátumu a času | Úloha |
---|---|
addDays | Pridajte do časovej pečiatky počet dní. |
hodiny | Pridajte do časovej pečiatky niekoľko hodín. |
addMinutes | Pridajte do časovej pečiatky počet minút. |
pridanie riadkov | Pridajte počet sekúnd do časovej pečiatky. |
addToTime | Pridajte počet jednotiek času do časovej pečiatky. Pozrite si tiež getFutureTime . |
convertFromUtc | Konvertujte časovú pečiatku z koordinovaného svetového času (UTC) na cieľové časové pásmo. |
ConvertTimeZone | Konvertujte časovú pečiatku zo zdrojového časového pásma na cieľové časové pásmo. |
convertToUtc | Konvertujte časovú pečiatku zo zdrojového časového pásma na koordinovaný svetový čas (UTC). |
deňV Mesiaca | Vracia zložku dňa v mesiaci z časovej pečiatky. |
dňomVtýždni | Zložka dňa v týždni sa vracia z časovej pečiatky. |
dníRok | Vracia zložku dňa v roku z časovej pečiatky. |
formatDateTime | Vráťte časovú pečiatku ako reťazec v voliteľnom formáte. |
getFutureTime | Vráti aktuálnu časovú pečiatku a zadané časové jednotky. Pozrite tiež addToTime. |
getPastTime | Vráti aktuálnu časovú pečiatku mínus zadané časové jednotky. Pozri tiež odčítavať hodnotyZobchodu. |
startOfDay | Vráti začiatok dňa pre časovú pečiatku. |
startOfHour | Vráti začiatok hodiny pre časovú pečiatku. |
startOfMonth | Vrátiť začiatok mesiaca pre časovú pečiatku. |
odpočítaťod hodnotyČas | Od časovej pečiatky odčítajte počet jednotiek času. Pozrite tiež getPastTime . |
Vrátenie hodnoty vlastnosti ticks pre zadanú časovú pečiatku. |
|
utcNow | Vráti aktuálnu časovú pečiatku ako reťazec. |