Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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 új az Azure Data Factory paraméterhasználatában az ADF felhasználói felületén, tekintse meg a Data Factory felhasználói felületének vizuális magyarázatát a paraméterekkel rendelkező társított szolgáltatások esetén, valamint a metaadatalapú folyamatokhoz készült pipeline paraméterezett verziójának vizuális magyarázatát.
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 literálok vagy futásidőben kiértékelt kifejezések.
Példa:
"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 egy literális karakterláncra van szükség, amely @-val kezdődik, akkor a @@ használatával kell leírni. 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 szövegen belül is megjelenhetnek a sztring interpoláció nevű funkcióval, amelyben a kifejezések be vannak csomagolva @{ ... }
. Például: "name" : "First Name: @{pipeline().parameters.firstName} Last Name: @{pipeline().parameters.lastName}"
Karakterlánc-interpolációval az eredmény mindig karakterlánc. Tegyük fel, hogy myNumber
-t definiáltam mint 42
, és myString
-t mint foo
.
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 visszaadja számként. |
"@{pipeline().parameters.myNumber}" |
42 visszaadja, mint sztring. |
"Válasz: @{pipeline().parameters.myNumber}" | A karakterláncot Answer is: 42 adja vissza. |
@concat('Válasz: ', string(pipeline().parameters.myNumber)) | Visszaadja a sztringet 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 karakterlánc interpoláció két kifejezési függvénnyel.
{
"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 látható 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 karakterláncfüggvények csak karakterláncokon használhatók.
Sztringfüggvény | Feladat |
---|---|
összefűzés | Két vagy több karakterlánc összefűzése, és a kombinált karakterlánc visszaadása. |
végződik | Ellenőrizze, hogy egy sztring a megadott részsztringgel végződik-e. |
Guid | Globálisan egyedi azonosító (GUID) létrehozása karakterláncként. |
indexOf | Egy részszöveg kezdőpozíciójának visszaadása. |
lastIndexOf | Adja meg 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. |
részszöveg | Karaktereket ad vissza egy sztringből, a megadott pozíciótól kezdve. |
toLower | Kisbetűs formátumban adja vissza a karakterláncot. |
toUpper | Karakterláncot ad vissza nagybetűs formátumban. |
igazít | 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
Ahhoz, hogy gyűjteményekkel dolgozzon, mint például tömbök, sztringek és néha szótárak, használhatja ezeket a gyűjteményfüggvényeket.
Adatgyűjtési függvény | Feladat |
---|---|
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. |
útkeresztező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. |
átugrik | Távolítsa el az elemeket a gyűjtemény elejéről, és adja vissza az összes többi elemet. |
vesz | A gyűjtemény elejéről visszaküld elemeket. |
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 | Feladat |
---|---|
é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. |
nagyobbVagyEgyenlő | 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. |
kisebb vagy egyenlő | 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:
- húr
- egész szám
- lebegni
- Booleán
- Tömbök
- Szótárak
Konvertálási függvény | Feladat |
---|---|
tömb | Tömb visszaadása egyetlen megadott bemenetből. Több bemenet esetén lásd: createArray. |
base64 | Visszaadja egy karakterlánc base64 kódolású verzióját. |
base64ToBinary | Egy base64 kódolású sztring bináris verzióját adja vissza. |
base64ToString | Adja vissza a base64 kódolású karakterlánc karakterlánc változatát. |
bináris | Adja vissza egy bemeneti érték bináris verzióját. |
Bool | Adja vissza egy bemeneti érték logikai verzióját. |
összenő | 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át. |
dataUriToBinary | Adja vissza egy adat URI bináris verzióját. |
dataUriToString | Az adat URI sztringverziójának visszaadása. |
decodeBase64 | Adja vissza a base64 kódolású karakterlánc karakterlánc változatát. |
decodeDataUri | Adja vissza egy adat URI bináris verzióját. |
dekódolja az URI-komponenst | Visszaad egy sztringet, amely az escape 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. |
lebeg | Egy bemeneti érték lebegőpontos számát adja vissza. |
Int | Adja vissza egy sztring egész számként való ábrázolását. |
json | Adja vissza egy sztring vagy XML JavaScript Object Notation (JSON) típusértékét vagy objektumát. |
zsinó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 a URI-kódolt karakterlánc sztringverzióját. |
xml | Adja vissza a szöveg XML-verzióját. |
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 | Feladat |
---|---|
hozzáad | 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. |
maximális | 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 | Adja vissza a maradékot két szám osztásábó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. |
szub | 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 | Feladat |
---|---|
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 | Az időbélyeget az univerzális idő szerint koordinált (UTC) időzónából konvertáljuk 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 az időbélyeg hónap-nap komponensét. |
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 | Adja vissza az időbélyeghez tartozó óra elejét. |
startOfMonth | Adja meg a hónap kezdetét egy időbélyeg alapján. |
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élyeget sztringként adja vissza. |
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
Kövesse a metaadat-alapú folyamathoz kapcsolódó paraméterek használata című útmutatót, hogy többet tudjon meg arról, hogyan tervezhetünk paraméterek alkalmazásával metaadat-alapú folyamatokat. 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.