Adatok másolása FTP-kiszolgálóról az Azure Data Factory vagy a Synapse Analytics használatával
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!
Ez a cikk azt ismerteti, hogyan másolhat adatokat az FTP-kiszolgálóról. További információkért olvassa el az Azure Data Factory és a Synapse Analytics bevezető cikkeit.
Támogatott képességek
Ez az FTP-összekötő a következő képességekhez támogatott:
Támogatott képességek | IR |
---|---|
Copy tevékenység (forrás/-) | (1) (2) |
Keresési tevékenység | (1) (2) |
GetMetadata-tevékenység | (1) (2) |
Tevékenység törlése | (1) (2) |
(1) Azure-integrációs modul (2) Saját üzemeltetésű integrációs modul
Ez az FTP-összekötő a következőket támogatja:
- Fájlok másolása egyszerű vagy névtelen hitelesítéssel.
- Fájlok másolása meglévőként vagy fájlok elemzése a támogatott fájlformátumokkal és tömörítési kodekekkel.
Az FTP-összekötő támogatja a passzív módban futó FTP-kiszolgálót. Az aktív mód nem támogatott.
Előfeltételek
Ha az adattár helyszíni hálózaton, Azure-beli virtuális hálózaton vagy Amazon Virtual Private Cloudon belül található, konfigurálnia kell egy saját üzemeltetésű integrációs modult a csatlakozáshoz.
Ha az adattár felügyelt felhőalapú adatszolgáltatás, használhatja az Azure Integration Runtime-ot. Ha a hozzáférés a tűzfalszabályokban jóváhagyott IP-címekre korlátozódik, hozzáadhat azure integration runtime IP-eket az engedélyezési listához.
Az Azure Data Factory felügyelt virtuális hálózati integrációs moduljával is elérheti a helyszíni hálózatot anélkül, hogy saját üzemeltetésű integrációs modult telepítene és konfigurálna.
A Data Factory által támogatott hálózati biztonsági mechanizmusokkal és lehetőségekkel kapcsolatos további információkért lásd az adathozzáférési stratégiákat.
Első lépések
A Copy tevékenység folyamattal való végrehajtásához használja az alábbi eszközök vagy SDK-k egyikét:
- Az Adatok másolása eszköz
- Az Azure Portal
- A .NET SDK
- A Python SDK
- Azure PowerShell
- A REST API
- Az Azure Resource Manager-sablon
Társított szolgáltatás létrehozása FTP-kiszolgálóhoz felhasználói felületen
Az alábbi lépésekkel hozzon létre társított szolgáltatást egy FTP-kiszolgálóhoz az Azure Portal felhasználói felületén.
Keresse meg az Azure Data Factory vagy a Synapse-munkaterület Kezelés lapját, és válassza a Társított szolgáltatások lehetőséget, majd kattintson az Új gombra:
Keresse meg az FTP-t, és válassza ki az FTP-összekötőt.
Konfigurálja a szolgáltatás részleteit, tesztelje a kapcsolatot, és hozza létre az új társított szolgáltatást.
Az összekötő konfigurációjának részletei
A következő szakaszok az FTP-hez kapcsolódó entitások definiálásához használt tulajdonságok részleteit ismertetik.
Társított szolgáltatás tulajdonságai
Az FTP-hez társított szolgáltatás esetében a következő tulajdonságok támogatottak:
Tulajdonság | Leírás | Kötelező |
---|---|---|
típus | A típustulajdonságnak a következőnek kell lennie: FtpServer. | Igen |
házigazda | Adja meg az FTP-kiszolgáló nevét vagy IP-címét. | Igen |
kikötő | Adja meg azt a portot, amelyen az FTP-kiszolgáló figyel. Az engedélyezett értékek a következők: egész szám, az alapértelmezett érték 21. |
Nem |
enableSsl | Adja meg, hogy AZ FTP-t SSL-/TLS-csatornán keresztül kívánja-e használni. Az engedélyezett értékek a következők: igaz (alapértelmezett), hamis. |
Nem |
enableServerCertificateValidation | Adja meg, hogy engedélyezi-e a kiszolgálóI TLS/SSL-tanúsítvány érvényesítését, ha FTP-t használ SSL-/TLS-csatornán keresztül. Az engedélyezett értékek a következők: igaz (alapértelmezett), hamis. |
Nem |
authenticationType | Adja meg a hitelesítési típust. Az engedélyezett értékek a következők: Alapszintű, Névtelen |
Igen |
Felhasználónév | Adja meg az FTP-kiszolgálóhoz hozzáféréssel rendelkező felhasználót. | Nem |
jelszó | Adja meg a felhasználó jelszavát (userName). Jelölje meg ezt a mezőt SecureStringként, hogy biztonságosan tárolja, vagy hivatkozzon az Azure Key Vaultban tárolt titkos kódra. | Nem |
connectVia | Az adattárhoz való csatlakozáshoz használandó integrációs modul . További információ az Előfeltételek szakaszból. Ha nincs megadva, az alapértelmezett Azure Integration Runtime-t használja. | Nem |
Feljegyzés
Az FTP-összekötő támogatja az FTP-kiszolgáló titkosítás nélküli vagy explicit SSL/TLS-titkosítás nélküli elérését; nem támogatja az implicit SSL-/TLS-titkosítást.
1. példa: névtelen hitelesítés használata
{
"name": "FTPLinkedService",
"properties": {
"type": "FtpServer",
"typeProperties": {
"host": "<ftp server>",
"port": 21,
"enableSsl": true,
"enableServerCertificateValidation": true,
"authenticationType": "Anonymous"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
2. példa: alapszintű hitelesítés használata
{
"name": "FTPLinkedService",
"properties": {
"type": "FtpServer",
"typeProperties": {
"host": "<ftp server>",
"port": 21,
"enableSsl": true,
"enableServerCertificateValidation": true,
"authenticationType": "Basic",
"userName": "<username>",
"password": {
"type": "SecureString",
"value": "<password>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Adathalmaz tulajdonságai
Az adathalmazok meghatározásához elérhető szakaszok és tulajdonságok teljes listáját az Adathalmazok című cikkben találja.
Az Azure Data Factory a következő fájlformátumokat támogatja. A formátumalapú beállításokat az egyes cikkekben találja.
- Avro formátum
- Bináris formátum
- Tagolt szövegformátum
- Excel-formátum
- JSON formátum
- ORC formátum
- Parquet formátum
- XML-formátum
Az FTP formátumalapú adatkészlet beállításai között location
az alábbi tulajdonságok támogatottak:
Tulajdonság | Leírás | Kötelező |
---|---|---|
típus | Az adathalmaz típustulajdonságának location FtpServerLocation értékre kell állítania. |
Igen |
folderPath | A mappa elérési útja. Ha helyettesítő karaktert szeretne használni a mappa szűréséhez, hagyja ki ezt a beállítást, és adja meg a tevékenység forrásbeállításaiban. | Nem |
fileName | A fájl neve az adott folderPath mappában. Ha helyettesítő karaktert szeretne használni a fájlok szűréséhez, hagyja ki ezt a beállítást, és adja meg a tevékenység forrásbeállításaiban. | Nem |
Példa:
{
"name": "DelimitedTextDataset",
"properties": {
"type": "DelimitedText",
"linkedServiceName": {
"referenceName": "<FTP linked service name>",
"type": "LinkedServiceReference"
},
"schema": [ < physical schema, optional, auto retrieved during authoring > ],
"typeProperties": {
"location": {
"type": "FtpServerLocation",
"folderPath": "root/folder/subfolder"
},
"columnDelimiter": ",",
"quoteChar": "\"",
"firstRowAsHeader": true,
"compressionCodec": "gzip"
}
}
}
Másolási tevékenység tulajdonságai
A tevékenységek meghatározásához elérhető szakaszok és tulajdonságok teljes listáját a Folyamatok című cikkben találja. Ez a szakasz az FTP-forrás által támogatott tulajdonságok listáját tartalmazza.
FTP forrásként
Az Azure Data Factory a következő fájlformátumokat támogatja. A formátumalapú beállításokat az egyes cikkekben találja.
- Avro formátum
- Bináris formátum
- Tagolt szövegformátum
- Excel-formátum
- JSON formátum
- ORC formátum
- Parquet formátum
- XML-formátum
Az FTP formátumalapú másolási forrás beállításai között storeSettings
az alábbi tulajdonságok támogatottak:
Tulajdonság | Leírás | Kötelező |
---|---|---|
típus | Az alatta lévő storeSettings típustulajdonságnak FtpReadSettings értékre kell állítania. |
Igen |
Keresse meg a másolandó fájlokat: | ||
1. LEHETŐSÉG: statikus elérési út |
Másolja ki az adathalmazban megadott mappa/fájl elérési útját. Ha az összes fájlt egy mappából szeretné másolni, adja meg wildcardFileName a következőt * is: . |
|
2. LEHETŐSÉG: helyettesítő karakter - helyettesítő karakterekFolderPath |
A mappa elérési útja helyettesítő karakterekkel a forrásmappák szűréséhez. Az engedélyezett helyettesítő karakterek a következők: * (nulla vagy több karakternek felel meg) és ? (nulla vagy egyetlen karakternek felel meg); akkor használható ^ a feloldáshoz, ha a mappa tényleges neve helyettesítő karaktert tartalmaz, vagy ez a feloldó karakter található benne. További példák a mappa- és fájlszűrő példákban. |
Nem |
2. LEHETŐSÉG: helyettesítő karakter - wildcardFileName |
A forrásfájlok szűréséhez használt fájlnév helyettesítő karaktereket tartalmaz az adott mappaPath/helyettesítő karaktermappájában. Az engedélyezett helyettesítő karakterek a következők: * (nulla vagy több karakternek felel meg) és ? (nulla vagy egyetlen karakternek felel meg); akkor használható ^ a feloldásra, ha a tényleges fájlnév helyettesítő karaktert tartalmaz, vagy ez a feloldó karakter található benne. További példák a mappa- és fájlszűrő példákban. |
Igen |
3. LEHETŐSÉG: a fájlok listája - fileListPath |
Egy adott fájlkészlet másolását jelzi. Mutasson egy szövegfájlra, amely tartalmazza a másolandó fájlok listáját, soronként egy fájlt, amely az adathalmazban konfigurált elérési út relatív elérési útja. Ha ezt a lehetőséget használja, ne adjon meg fájlnevet az adathalmazban. További példák a Fájllista példákban. |
Nem |
További beállítások: | ||
rekurzív | Azt jelzi, hogy az adatok rekurzív módon vannak-e beolvasva az almappákból vagy csak a megadott mappából. Vegye figyelembe, hogy ha a rekurzív értéke igaz, és a fogadó fájlalapú tároló, akkor a rendszer nem másol vagy hoz létre üres mappát vagy almappát a fogadóban. Az engedélyezett értékek értéke igaz (alapértelmezett) és hamis. Ez a tulajdonság nem érvényes a konfiguráláskor fileListPath . |
Nem |
deleteFilesAfterCompletion | Azt jelzi, hogy a bináris fájlok törölve lesznek-e a forrástárból a céltárolóba való sikeres áthelyezés után. A fájltörlés fájlonként történik, ezért ha a másolási tevékenység meghiúsul, látni fogja, hogy egyes fájlok már át lettek másolva a célhelyre, és törölve lettek a forrásból, míg mások továbbra is a forrástárban maradnak. Ez a tulajdonság csak bináris fájlok másolási forgatókönyvében érvényes. Az alapértelmezett érték: hamis. |
Nem |
useBinaryTransfer | Adja meg, hogy a bináris átviteli módot használja-e. Az értékek a bináris mód (alapértelmezett) és az ASCII esetében hamisak. | Nem |
enablePartitionDiscovery | Particionált fájlok esetén adja meg, hogy elemezni szeretné-e a partíciókat a fájl elérési útján, és további forrásoszlopokként adja hozzá őket. Az engedélyezett értékek hamisak (alapértelmezett) és igazak. |
Nem |
partitionRootPath | Ha a partíciófelderítés engedélyezve van, adja meg az abszolút gyökér elérési utat a particionált mappák adatoszlopként való olvasásához. Ha nincs megadva, alapértelmezés szerint – Ha fájlelérési utat használ az adathalmazban vagy a forrásban lévő fájlok listájában, a partíció gyökérútvonala az adathalmazban konfigurált elérési út. – Helyettesítő karakteres mappaszűrő használata esetén a partíció gyökérútvonala az első helyettesítő karakter előtti alútvonal. Tegyük fel például, hogy az adathalmaz elérési útját "root/folder/year=2020/month=08/day=27" értékre konfigurálja: - Ha a partíció gyökér elérési útját "root/folder/year=2020" értékként adja meg, a másolási tevékenység a fájlokon belüli oszlopok mellett két további oszlopot month day hoz létre, valamint a "08" és a "27" értéket.– Ha nincs megadva partíciógyökér elérési útja, a rendszer nem hoz létre további oszlopot. |
Nem |
maxConcurrentConnections | Az adattárhoz a tevékenység futtatása során létrehozott egyidejű kapcsolatok felső korlátja. Csak akkor adjon meg értéket, ha korlátozni szeretné az egyidejű kapcsolatokat. | Nem |
disableChunking | Az FTP-ről történő adatmásoláskor a szolgáltatás először megpróbálja lekérni a fájl hosszát, majd több részre osztja a fájlt, és párhuzamosan olvassa be őket. Adja meg, hogy az FTP-kiszolgáló támogatja-e a fájlhossz lekérését, vagy egy bizonyos eltolásból szeretne olvasni. Az engedélyezett értékek hamisak (alapértelmezett), igazak. |
Nem |
Példa:
"activities":[
{
"name": "CopyFromFTP",
"type": "Copy",
"inputs": [
{
"referenceName": "<Delimited text input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "DelimitedTextSource",
"formatSettings":{
"type": "DelimitedTextReadSettings",
"skipLineCount": 10
},
"storeSettings":{
"type": "FtpReadSettings",
"recursive": true,
"wildcardFolderPath": "myfolder*A",
"wildcardFileName": "*.csv",
"disableChunking": false
}
},
"sink": {
"type": "<sink type>"
}
}
}
]
Mappa- és fájlszűrő példák
Ez a szakasz a mappa elérési útjának és a fájlnévnek helyettesítő karaktereket tartalmazó viselkedését ismerteti.
folderPath | fileName | rekurzív | A forrásmappa struktúrája és a szűrés eredménye (a félkövér fájlokat a rendszer lekéri) |
---|---|---|---|
Folder* |
(üres, alapértelmezett beállítás) | false | FolderA File1.csv File2.json Almappák1 File3.csv File4.json File5.csv MásikFolderB File6.csv |
Folder* |
(üres, alapértelmezett beállítás) | true | FolderA File1.csv File2.json Almappák1 File3.csv File4.json File5.csv MásikFolderB File6.csv |
Folder* |
*.csv |
false | FolderA File1.csv File2.json Almappák1 File3.csv File4.json File5.csv MásikFolderB File6.csv |
Folder* |
*.csv |
true | FolderA File1.csv File2.json Almappák1 File3.csv File4.json File5.csv MásikFolderB File6.csv |
Példák fájllistára
Ez a szakasz a fájllista elérési útjának másolási tevékenység forrásában való használatát ismerteti.
Feltéve, hogy a következő forrásmappa-struktúrával rendelkezik, és félkövér formátumban szeretné másolni a fájlokat:
Minta forrásstruktúra | Tartalom a FileListToCopy.txt | Konfiguráció |
---|---|---|
gyökér FolderA File1.csv File2.json Almappák1 File3.csv File4.json File5.csv Metaadatok FileListToCopy.txt |
File1.csv Almappák1/File3.csv Almappák1/File5.csv |
Adatkészletben: - Mappa elérési útja: root/FolderA Másolási tevékenység forrása: - Fájllista elérési útja: root/Metadata/FileListToCopy.txt A fájllista elérési útja egy szövegfájlra mutat ugyanabban az adattárban, amely tartalmazza a másolni kívánt fájlok listáját, soronként egy fájlt az adathalmazban konfigurált elérési út relatív elérési útjával. |
Keresési tevékenység tulajdonságai
A tulajdonságok részleteinek megismeréséhez tekintse meg a keresési tevékenységet.
GetMetadata tevékenység tulajdonságai
A tulajdonságok részleteinek megismeréséhez ellenőrizze a GetMetadata-tevékenységet
Tevékenységtulajdonságok törlése
A tulajdonságok részleteinek megismeréséhez ellenőrizze a Törlési tevékenységet
Örökölt modellek
Feljegyzés
Az alábbi modellek továbbra is támogatottak a visszamenőleges kompatibilitás érdekében. Javasoljuk, hogy a fenti szakaszokban említett új modellt használja, és a szerzői felhasználói felület átállt az új modell létrehozására.
Örökölt adathalmaz-modell
Tulajdonság | Leírás | Kötelező |
---|---|---|
típus | Az adathalmaz típustulajdonságának a következőnek kell lennie: FileShare | Igen |
folderPath | A mappa elérési útja. A helyettesítő karakterek szűrője támogatott, az engedélyezett helyettesítő karakterek a következők: * (nulla vagy több karakternek felel meg) és ? (nulla vagy egyetlen karakternek felel meg); akkor használható ^ , ha a mappa tényleges neve helyettesítő karaktert tartalmaz, vagy ez a feloldó karakter található benne. Példák: gyökérmappák/almappák/, további példák a Mappa és fájlszűrő példákban. |
Igen |
fileName | A megadott "folderPath" alatt található fájl(ok) neve vagy helyettesítő karakterszűrője . Ha nem ad meg értéket ehhez a tulajdonsághoz, az adathalmaz a mappában lévő összes fájlra mutat. Szűrő esetén az engedélyezett helyettesítő karakterek a következők: * (nulla vagy több karakternek felel meg) és ? (nulla vagy egy karakternek felel meg).- 1. példa: "fileName": "*.csv" - 2. példa: "fileName": "???20180427.txt" A feloldás akkor használható ^ , ha a tényleges fájlnévben helyettesítő karakter vagy ez a feloldó karakter található. |
Nem |
format | Ha fájlokat szeretne másolni fájlalapú tárolók között (bináris másolás), hagyja ki a formátumszakaszt a bemeneti és kimeneti adatkészlet-definíciókban. Ha egy adott formátumú fájlokat szeretne elemezni, a következő fájlformátumtípusok támogatottak: TextFormat, JsonFormat, AvroFormat, OrcFormat, ParquetFormat. A formátum alatti típustulajdonság beállítása az alábbi értékek egyikére. További információ: Szövegformátum, Json Formátum, Avro Formátum, Orc Formátum és Parquet Format szakaszok. |
Nem (csak bináris másolási forgatókönyv esetén) |
tömörítés | Adja meg az adatok tömörítési típusát és szintjét. További információ: Támogatott fájlformátumok és tömörítési kodekek. Támogatott típusok: GZip, Deflate, BZip2 és ZipDeflate. Támogatott szintek: Optimális és Leggyorsabb. |
Nem |
useBinaryTransfer | Adja meg, hogy a bináris átviteli módot használja-e. Az értékek a bináris mód (alapértelmezett) és az ASCII esetében hamisak. | Nem |
Tipp.
Ha az összes fájlt át szeretné másolni egy mappában, csak a folderPath értéket adja meg.
Ha egy adott nevű fájlt szeretne másolni, adja meg a folderPath mappát, a fájlnév pedig a mapparészt.
Ha egy mappa alá szeretné másolni a fájlok egy részhalmazát, adja meg a folderPath mapparészt és a fileName fájlt helyettesítő karakter szűrővel.
Feljegyzés
Ha a fájlszűrőhöz a "fileFilter" tulajdonságot használta, az továbbra is támogatott, miközben a rendszer azt javasolja, hogy használja a fájlnévhez hozzáadott új szűrőképességet.
Példa:
{
"name": "FTPDataset",
"properties": {
"type": "FileShare",
"linkedServiceName":{
"referenceName": "<FTP linked service name>",
"type": "LinkedServiceReference"
},
"typeProperties": {
"folderPath": "folder/subfolder/",
"fileName": "myfile.csv.gz",
"format": {
"type": "TextFormat",
"columnDelimiter": ",",
"rowDelimiter": "\n"
},
"compression": {
"type": "GZip",
"level": "Optimal"
}
}
}
}
Régi másolási tevékenység forrásmodellje
Tulajdonság | Leírás | Kötelező |
---|---|---|
típus | A másolási tevékenység forrásának típustulajdonságának a következőnek kell lennie: FileSystemSource | Igen |
rekurzív | Azt jelzi, hogy az adatok rekurzív módon vannak-e beolvasva az almappákból vagy csak a megadott mappából. Vegye figyelembe, hogy ha a rekurzív értéke igaz, és a fogadó fájlalapú tároló, az üres mappa/almappák nem lesznek másolva/létrehozva a fogadóban. Az engedélyezett értékek a következők: igaz (alapértelmezett), hamis |
Nem |
maxConcurrentConnections | Az adattárhoz a tevékenység futtatása során létrehozott egyidejű kapcsolatok felső korlátja. Csak akkor adjon meg értéket, ha korlátozni szeretné az egyidejű kapcsolatokat. | Nem |
Példa:
"activities":[
{
"name": "CopyFromFTP",
"type": "Copy",
"inputs": [
{
"referenceName": "<FTP input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "FileSystemSource",
"recursive": true
},
"sink": {
"type": "<sink type>"
}
}
}
]
Kapcsolódó tartalom
A másolási tevékenység által forrásként és fogadóként támogatott adattárak listáját a támogatott adattárakban találja.