A Data Factory paraméterei a Microsoft Fabricben
Ez a dokumentum azt ismerteti, hogyan használhat paramétereket a folyamatokban a Data Factory in Fabricben.
Ebben a dokumentumban az alapvető fogalmak megismerésére összpontosítunk, különböző példákkal, amelyekből megtudhatja, hogy a Data Factoryben létrehozhat-e paraméteres adatfolyamatokat. A paraméterezés és a dinamikus kifejezések rengeteg időt takaríthatnak meg, és sokkal rugalmasabb kinyerési, átalakítási, betöltési (ETL) vagy kinyerési, betöltési, átalakítási (ELT) megoldást tehetnek lehetővé, ami jelentősen csökkenti a megoldáskarbantartás költségeit, és felgyorsítja az új funkciók implementálását a meglévő folyamatokban. Ennek az az oka, hogy a paraméterezés minimalizálja a kemény kódolás mennyiségét, és növeli az újrafelhasználható objektumok és folyamatok számát egy megoldásban.
A paraméterekkel külső értékeket adhat át a folyamatoknak. Miután a paramétert átadta az erőforrásnak, nem módosítható. Az erőforrások paraméterezésével minden alkalommal más-más értékekkel használhatja fel őket. A paraméterek külön-külön vagy a kifejezések részeként is használhatók. A definíció paraméterértékei lehetnek konstansok vagy futásidőben kiértékelt kifejezések.
A kifejezések bárhol megjelenhetnek egy sztringértékben, és mindig létrehoznak egy másik sztringértéket. Itt a jelszó egy folyamatparaméter a kifejezésben. Ha egy paraméterérték kifejezés, a rendszer az at-sign (@) eltávolításával nyeri ki a kifejezés törzsét. Ha @-val kezdődő literális sztringre van szükség, akkor a @@használatával kell megszabadulnia. Az alábbi példák a kifejezések kiértékelésének módját mutatják be.
Paraméter értéke | Eredmény |
---|---|
"paraméterek" | A rendszer a "paraméterek" karaktereket adja vissza. |
"paraméterek[1]" | A rendszer a "parameters[1]" karaktereket adja vissza. |
"@@" | A függvény egy 1 karakteres sztringet ad vissza, amely "@" karaktert tartalmaz. |
" @" | A függvény egy 2 karakteres sztringet ad vissza, amely a "@" karaktert tartalmazza. |
A kifejezések sztringeken belül is megjelenhetnek egy sztring interpoláció nevű funkcióval, amelyben a kifejezések be vannak csomagolva@{ ... }
. A következő sztring például paraméterértékeket és literális sztringértékeket tartalmaz:
"Utónév: @{pipeline().parameters.firstName} Vezetéknév: @{pipeline().parameters.lastName}"
Sztring interpolációval az eredmény mindig sztring. Ha például a következőként definiálta a myString
következőt myNumber
42
foo
:
Paraméter értéke | Eredmény |
---|---|
"@pipeline().parameters.myString" | Sztringként ad foo vissza. |
"@{pipeline().parameters.myString}" | Sztringként ad foo vissza. |
"@pipeline().parameters.myNumber" | 42 Számként adja vissza. |
"@{pipeline().parameters.myNumber}" | Sztringként ad 42 vissza. |
"Válasz: @{pipeline().parameters.myNumber}" | A sztringet Answer is: 42 adja vissza. |
"@concat('Válasz: ', string(pipeline().parameters.myNumber))" | A sztring visszaadása Answer is: 42 |
"Válasz: @@{pipeline().parameters.myNumber}" | A sztringet Answer is: @{pipeline().parameters.myNumber} adja vissza. |
Paraméterek létrehozásához válassza ki a folyamatszerkesztő vásznának hátterét, majd alul a Tulajdonságok ablak Paraméterek lapját. Az + Új gombra kattintva új paramétert vehet fel a folyamatba, adjon neki nevet, adattípust és alapértelmezett értéket:
Ezután a paramétert bárhol használhatja a folyamatban, ahol a dinamikus tartalom támogatott. Ebben a példában a paraméterrel dinamikusan megadhatja egy Lakehouse-adattár nevét egy másolási tevékenység tulajdonságlapjának Forrás lapján.
Megjelenik a Dinamikus tartalom hozzáadása ablak, amely lehetővé teszi bármilyen dinamikus tartalom megadását, beleértve a paramétereket, a rendszerváltozókat, a függvényeket vagy a folyamatváltozókat. Ebben a példában a korábban definiált paraméter van kiválasztva, és a dinamikus tartalomablak automatikusan feltöltődik a megfelelő kifejezéssel a paraméterre való hivatkozáshoz.
Az alábbi példa egy összetett példát mutat be, amely a tevékenység kimenetének egy mély almezőjére hivatkozik. Ha egy almezőre kiértékelt folyamatparaméterre szeretne hivatkozni, használja a pont(.) operátor helyett a [] szintaxist (mint az almező1 és az almező2 esetén)
@activity('*activityName*').output.*subfield1*.*subfield2*[pipeline().parameters.*subfield3*].*subfield4*
A dinamikus tartalomszerkesztő automatikusan feloldja a tartalomban lévő karaktereket a szerkesztés befejezésekor. A tartalomszerkesztőben például a következő tartalom egy kifejezésfüggvény sztring interpolációja:
@{toUpper('myData')}
A dinamikus tartalomszerkesztő a fenti tartalmat a következő kifejezéssé alakítja:
MYDATA
Függvényeket hívhat meg, és változókat használhat a kifejezéseken belül. A következő szakaszok a kifejezésekben használható függvényekről nyújtanak információkat.
Ezek a rendszerváltozók a folyamat JSON-jában bárhol hivatkozhatók.
Változó neve | Leírás |
---|---|
@pipeline().DataFactory | Annak az adatnak vagy Synapse-munkaterületnek a neve, amelyben a folyamat fut |
@pipeline().Pipeline | A folyamat neve |
@pipeline().RunId | Az adott folyamatfuttatás azonosítója |
@pipeline().TriggerId | A folyamatot meghívó eseményindító azonosítója |
@pipeline().TriggerName | A folyamatot meghívó eseményindító neve |
@pipeline().TriggerTime | A folyamatot meghívó eseményindító futtatásának időpontja. Ez az az időpont, amikor az eseményindító ténylegesen aktiválódott a folyamatfuttatás meghívásához, és kissé eltérhet az eseményindító ütemezett időpontjától. |
@pipeline().GroupId | Annak a csoportnak az azonosítója, amelyhez a folyamatfuttatás tartozik. |
@pipeline()?. TriggerByPipelineName | A folyamatfuttatást kiváltó folyamat neve. Akkor alkalmazható, ha a folyamatfuttatást egy ExecutePipeline-tevékenység aktiválja. Kiértékelése null értékre, ha más körülmények között használják. Jegyezze fel a kérdőjelet a következő után: @pipeline() |
@pipeline()?. TriggerByPipelineRunId | A folyamatfuttatást kiváltó folyamat futtatási azonosítója. Akkor alkalmazható, ha a folyamatfuttatást egy ExecutePipeline-tevékenység aktiválja. Kiértékelése null értékre, ha más körülmények között használják. Jegyezze fel a kérdőjelet a következő után: @pipeline() |
Megjegyzés
Az eseményindítóhoz kapcsolódó dátum- és időrendszerváltozók (mind a folyamat, mind az eseményindító hatókörében) AZ UTC dátumokat ad vissza ISO 8601 formátumban, például 2017-06-01T22:20:00.4061448Z
.
A sztringek használatához használhatja ezeket a sztringfüggvényeket és néhány gyűjteményfüggvényt is. A sztringfüggvények csak sztringeken működnek.
Sztringfüggvény | Feladatok |
---|---|
Concat | Két vagy több sztring egyesítése és az egyesített sztring visszaadása. |
endsWith | Ellenőrizze, hogy egy sztring a megadott részsztringgel végződik-e. |
Guid | Globálisan egyedi azonosító (GUID) létrehozása sztringként. |
indexOf | Egy részszúrás kezdőpozíciójának visszaadása. |
lastIndexOf | Adja vissza az alsztring utolsó előfordulásának kezdő pozícióját. |
Helyettesít | Cserélje le az alsztringet a megadott sztringre, és adja vissza a frissített sztringet. |
hasít | Olyan tömböt ad vissza, amely vesszővel elválasztott részsztringeket tartalmaz egy nagyobb sztringtől az eredeti sztring megadott elválasztó karaktere alapján. |
startsWith | Ellenőrizze, hogy egy sztring egy adott részsztringgel kezdődik-e. |
Substring | Karaktereket ad vissza egy sztringből, a megadott pozíciótól kezdve. |
toLower | Kisbetűs karakterláncot ad vissza. |
toUpper | Karakterláncot ad vissza nagybetűs formátumban. |
Berendezés | Távolítsa el a kezdő és záró szóközt egy sztringből, és adja vissza a frissített sztringet. |
Gyűjtemények, általában tömbök, sztringek és néha szótárak használatához használhatja ezeket a gyűjteményfüggvényeket.
Gyűjteményfüggvény | Feladatok |
---|---|
Tartalmaz | Ellenőrizze, hogy egy gyűjtemény tartalmaz-e egy adott elemet. |
Üres | Ellenőrizze, hogy egy gyűjtemény üres-e. |
Első | Egy gyűjtemény első elemének visszaadása. |
Kereszteződés | Olyan gyűjteményt ad vissza, amely csak a megadott gyűjtemények közös elemeit tartalmazza. |
csatlakozás | Olyan sztringet ad vissza, amely egy tömb összes elemét tartalmazza, a megadott karakterrel elválasztva. |
Utolsó | Egy gyűjtemény utolsó elemének visszaadása. |
length (hossz) | Egy sztring vagy tömb elemeinek számát adja vissza. |
Ugrál | Távolítsa el az elemeket a gyűjtemény elejéről, és adja vissza az összes többi elemet. |
take | Elemeket ad vissza a gyűjtemény elejéről. |
Unió | Olyan gyűjteményt ad vissza, amely a megadott gyűjtemények összes elemét tartalmazza. |
Ezek a függvények a feltételeken belül hasznosak, bármilyen típusú logika kiértékelésére használhatók.
Logikai összehasonlító függvény | Feladatok |
---|---|
És | Ellenőrizze, hogy az összes kifejezés igaz-e. |
Egyenlő | Ellenőrizze, hogy mindkét érték egyenértékű-e. |
Nagyobb | Ellenőrizze, hogy az első érték nagyobb-e a másodiknál. |
greaterOrEquals | Ellenőrizze, hogy az első érték nagyobb-e, mint a második érték. |
Ha | Ellenőrizze, hogy egy kifejezés igaz vagy hamis-e. Az eredmény alapján adjon vissza egy megadott értéket. |
Kevesebb | Ellenőrizze, hogy az első érték kisebb-e a másodiknál. |
lessOrEquals | Ellenőrizze, hogy az első érték kisebb-e, mint a második érték. |
Nem | Ellenőrizze, hogy egy kifejezés hamis-e. |
vagy | Ellenőrizze, hogy legalább egy kifejezés igaz-e. |
Ezek a függvények a nyelv natív típusai közötti konvertálásra szolgálnak:
- húr
- egész szám
- float
- Logikai
- Tömbök
- Szótárak
Konvertálási függvény | Feladatok |
---|---|
Tömb | Tömb visszaadása egyetlen megadott bemenetből. Több bemenet esetén lásd: createArray. |
base64 | Visszaadja egy sztring base64 kódolású verzióját. |
base64ToBinary | Egy base64 kódolású sztring bináris verzióját adja vissza. |
base64ToString | Egy base64 kódolású sztring sztringverzióját adja vissza. |
Bináris | Adja vissza egy bemeneti érték bináris verzióját. |
Bool | Adja vissza egy bemeneti érték logikai verzióját. |
coalesce | Az első nem null értéket adja vissza egy vagy több paraméterből. |
createArray | Több bemenetből származó tömböt ad vissza. |
dataUri | Adja vissza egy bemeneti érték adat URI-jának értékét. |
dataUriToBinary | Adja vissza egy adat URI bináris verzióját. |
dataUriToString | Az adat URI sztringverziójának visszaadása. |
decodeBase64 | Egy base64 kódolású sztring sztringverzióját adja vissza. |
decodeDataUri | Adja vissza egy adat URI bináris verzióját. |
decodeUriComponent | Visszaad egy sztringet, amely a feloldó karaktereket dekódolt verziókra cseréli. |
encodeUriComponent | Olyan sztringet ad vissza, amely az URL-cím szempontjából nem biztonságos karaktereket feloldó karakterekre cseréli. |
Úszó | Egy bemeneti érték lebegőpontos számát adja vissza. |
Int | Egy sztring egész verziójának visszaadása. |
Json | Adja vissza egy sztring vagy XML JavaScript Object Notation (JSON) típusértékét vagy objektumát. |
húr | Adja vissza egy bemeneti érték sztringverziójának értékét. |
uriComponent | Adja vissza egy bemeneti érték URI-kódolású verzióját úgy, hogy az URL-cím szempontjából nem biztonságos karaktereket feloldó karakterekre cseréli. |
uriComponentToBinary | Adja vissza az URI-kódolt sztring bináris verzióját. |
uriComponentToString | Adja vissza egy URI-kódolt sztring sztringverzióját. |
xml | Sztring XML-verzióját adja vissza. |
Xpath | Ellenőrizze az XML-ben az XPath (XML Path Language) kifejezésnek megfelelő csomópontokat vagy értékeket, és adja vissza az egyező csomópontokat vagy értékeket. |
Ezek a függvények bármilyen típusú számhoz használhatók: egész számokhoz és lebegőpontosakhoz.
Matematikai függvény | Feladatok |
---|---|
Hozzáadása | Két szám hozzáadásának eredményét adja vissza. |
Div | Két szám osztásából származó eredményt adja vissza. |
Max | Számkészletből vagy tömbből a legmagasabb értéket adja vissza. |
Min | A legkisebb értéket adja vissza számkészletből vagy tömbből. |
Mod | A maradékot adja vissza két szám felosztásától. |
Mul | Adja vissza a szorzatot két szám szorzásából. |
Rand | Véletlenszerű egész számot ad vissza egy megadott tartományból. |
Tartomány | Adott egész számból induló egész tömböt ad vissza. |
Al | A második szám kivonásának eredményét adja vissza az első számból. |
Dátum- vagy időfüggvény | Feladatok |
---|---|
addDays | Adjon hozzá néhány napot egy időbélyeghez. |
addHours | Adjon hozzá több órát egy időbélyeghez. |
addMinutes | Adjon hozzá néhány percet egy időbélyeghez. |
addSeconds | Adjon hozzá néhány másodpercet egy időbélyeghez. |
addToTime | Adjon hozzá több időegységet egy időbélyeghez. Lásd még : getFutureTime. |
convertFromUtc | Időbélyeg konvertálása az univerzális idő szerint koordinált (UTC) időzónából a cél időzónába. |
convertTimeZone | Időbélyeg konvertálása a forrás időzónából a cél időzónává. |
convertToUtc | Időbélyeg konvertálása a forrás időzónából univerzális idő koordinált (UTC) időzónává. |
dayOfMonth | Adja vissza a hónap napját egy időbélyegből. |
dayOfWeek | A hét napját adja vissza egy időbélyegből. |
dayOfYear | Az év napját adja vissza egy időbélyegből. |
formatDateTime | Az időbélyeget sztringként adja vissza opcionális formátumban. |
getFutureTime | Adja vissza az aktuális időbélyeget és a megadott időegységeket. Lásd még : addToTime. |
getPastTime | Az aktuális időbélyeget adja vissza a megadott időegységekkel együtt. Lásd még : subtractFromTime. |
startOfDay | Az időbélyeg napjának kezdetét adja vissza. |
startOfHour | Az óra kezdetét adja vissza egy időbélyeghez. |
startOfMonth | Adja vissza a hónap kezdetét egy időbélyeghez. |
subtractFromTime | Vonjon ki több időegységet egy időbélyegből. Lásd még : getPastTime. |
Kullancsok | ticks Adott időbélyeg tulajdonságértékének visszaadása. |
utcNow | Az aktuális időbélyeg visszaadása sztringként. |