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/-) ① ②
Keresési tevékenység ① ②
GetMetadata-tevékenység ① ②
Tevékenység törlése ① ②

(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:

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:

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.

  1. 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:

  2. Keresse meg az FTP-t, és válassza ki az FTP-összekötőt.

    Screenshot of the FTP connector.

  3. Konfigurálja a szolgáltatás részleteit, tesztelje a kapcsolatot, és hozza létre az új társított szolgáltatást.

    Screenshot of linked service configuration for an FTP server.

Csatlakozás or 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:

Property Leírás Required
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

Megjegyzé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.

Az FTP formátumalapú adatkészlet beállításai között location az alábbi tulajdonságok támogatottak:

Property Leírás Required
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.

Az FTP formátumalapú másolási forrás beállításai között storeSettings az alábbi tulajdonságok támogatottak:

Property Leírás Required
típus Az alábbi storeSettings típustulajdonságnak FtpRead Gépház é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 monthday 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
maxConcurrent Csatlakozás ions 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 fájlban 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

Megjegyzé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

Property Leírás Required
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.

Megjegyzé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

Property Leírás Required
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
maxConcurrent Csatlakozás ions 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>"
            }
        }
    }
]

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.