Paraméterek, kifejezések és függvények használata az Azure Data Factoryben
A következőkre vonatkozik: Azure Data Factory Azure Synapse Analytics
Tipp.
Próbálja ki a Data Factoryt a Microsoft Fabricben, amely egy teljes körű elemzési megoldás a nagyvállalatok számára. A Microsoft Fabric az adattovábbítástól az adatelemzésig, a valós idejű elemzésig, az üzleti intelligenciáig és a jelentéskészítésig mindent lefed. Ismerje meg, hogyan indíthat új próbaverziót ingyenesen!
Ebben a dokumentumban elsősorban az alapvető fogalmak megismerésére összpontosítunk, különböző példákkal, amelyekkel megvizsgálhatjuk a paraméteres adatfolyamatok Azure Data Factoryn belüli létrehozásának lehetőségét. A paraméterezés és a dinamikus kifejezések olyan figyelemre méltó kiegészítések az ADF-hez, mivel 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 tesznek 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.
Az Azure Data Factory felhasználói felülete és paraméterei
Ha most ismerkedik az Azure Data Factory paraméterhasználatával az ADF felhasználói felületén, tekintse át a Data Factory felhasználói felületét a paraméterekkel rendelkező társított szolgáltatásokhoz, a Data Factory felhasználói felületét pedig a metaadatalapú folyamathoz, a vizualizációs magyarázat paramétereivel .
Paraméter- és kifejezésfogalmak
A paraméterekkel külső értékeket továbbíthat folyamatokba, adatkészletekbe, társított szolgáltatásokba és adatfolyamokba. 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ó JSON-értékei lehetnek konstansok vagy futásidőben kiértékelt kifejezések.
Például:
"name": "value"
vagy
"name": "@pipeline().parameters.password"
A kifejezések bárhol megjelenhetnek egy JSON-sztringértékben, és mindig egy másik JSON-értéket eredményeznek. Itt a jelszó egy folyamatparaméter a kifejezésben. Ha egy JSON-é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.
JSON-érték | 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@{ ... }
. For example: "name" : "First Name: @{pipeline().parameters.firstName} Last Name: @{pipeline().parameters.lastName}"
Sztring interpolációval az eredmény mindig sztring. Tegyük fel, hogy definiáltam myNumber
a következőt 42
foo
:myString
JSON-érték | 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. |
Példák paraméterek kifejezésben való használatára
Összetett kifejezési példa
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*
Dinamikus tartalomszerkesztő
A dinamikus tartalomszerkesztő automatikusan kikerüli a tartalom karaktereit a szerkesztés befejezésekor. A tartalomszerkesztőben például a következő tartalom egy sztring interpolációja két kifejezésfüggvényrel.
{
"type": "@{if(equals(1, 2), 'Blob', 'Table' )}",
"name": "@{toUpper('myData')}"
}
A dinamikus tartalomszerkesztő a fenti tartalmat kifejezéssé "{ \n \"type\": \"@{if(equals(1, 2), 'Blob', 'Table' )}\",\n \"name\": \"@{toUpper('myData')}\"\n}"
alakítja. Ennek a kifejezésnek az eredménye egy alább bemutatott JSON formátumú sztring.
{
"type": "Table",
"name": "MYDATA"
}
Egy paraméterekkel rendelkező adatkészlet
Az alábbi példában a BlobDataset egy elérési út nevű paramétert vesz fel. Az érték a folderPath tulajdonság értékének beállítására szolgál a következő kifejezéssel: dataset().path
.
{
"name": "BlobDataset",
"properties": {
"type": "AzureBlob",
"typeProperties": {
"folderPath": "@dataset().path"
},
"linkedServiceName": {
"referenceName": "AzureStorageLinkedService",
"type": "LinkedServiceReference"
},
"parameters": {
"path": {
"type": "String"
}
}
}
}
Folyamat paraméterekkel
A következő példában a folyamat inputPath- és outputPath-paramétereket vesz fel. A paraméteres blobadatkészlet elérési útja ezen paraméterek értékeinek használatával van beállítva. Az itt használt szintaxis a következő: pipeline().parameters.parametername
.
{
"name": "Adfv2QuickStartPipeline",
"properties": {
"activities": [
{
"name": "CopyFromBlobToBlob",
"type": "Copy",
"inputs": [
{
"referenceName": "BlobDataset",
"parameters": {
"path": "@pipeline().parameters.inputPath"
},
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "BlobDataset",
"parameters": {
"path": "@pipeline().parameters.outputPath"
},
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "BlobSource"
},
"sink": {
"type": "BlobSink"
}
}
}
],
"parameters": {
"inputPath": {
"type": "String"
},
"outputPath": {
"type": "String"
}
}
}
}
Függvények meghívása kifejezéseken belül
Függvényeket a kifejezéseken belül is meghívhat. A következő szakaszok a kifejezésekben használható függvényekről nyújtanak információkat.
Sztringfüggvények
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 | Task |
---|---|
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ényfüggvények
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 | Task |
---|---|
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. |
Logikai függvények
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 | Task |
---|---|
É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. |
Konverziós függvények
Ezek a függvények a nyelv natív típusai közötti konvertálásra szolgálnak:
- sztring
- egész szám
- float
- Logikai
- Tömbök
- Szótárak
Konvertálási függvény | Task |
---|---|
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. |
Karakterlánc | 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. |
Matematikai függvények
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 | Task |
---|---|
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átumfüggvények
Dátum- vagy időfüggvény | Task |
---|---|
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. |
Részletes példák a gyakorlathoz
Részletes Azure Data Factory másolási folyamat paraméterekkel
Ez az Azure Data Factory másolási folyamatparaméter átadási oktatóanyaga bemutatja, hogyan adhat át paramétereket egy folyamat és tevékenység, valamint a tevékenységek között.
Részletes adatfolyam-leképezési folyamat paraméterekkel
Kövesse az adatfolyam leképezését paraméterekkel , hogy átfogó példát találjon a paraméterek adatfolyamban való használatára.
Részletes metaadat-alapú folyamat paraméterekkel
A metaadat-alapú folyamatok tervezéséhez kövesse a metaadat-alapú folyamat paramétereit . Ez a paraméterek népszerű használati esete.
Kapcsolódó tartalom
A kifejezésekben használható rendszerváltozók listáját a Rendszerváltozók című témakörben találja.