Zdieľať cez


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 akoreťazca .
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:

Snímka obrazovky zobrazujúca editor parametrov na stránkach s vlastnosťami kanála.

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 stránok vlastností aktivity kopírovania.

Snímka obrazovky zobrazujúca kartu Zdroj stránok vlastností kopírovanej aktivity so zvýraznenou možnosťou Pridať dynamický obsah.

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.

Snímka obrazovky znázorňujúca okno Pridať dynamický obsah s vybratým parametrom kanála.

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í 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.
bool 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.
rand 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.