Adatok másolása a Google Cloud Storage-bó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 a Google Cloud Storage-ból (GCS). További információkért olvassa el az Azure Data Factory és a Synapse Analytics bevezető cikkeit.
Támogatott képességek
Ez a Google Cloud Storage-összekötő a következő képességeket támogatja:
Támogatott képességek | IR |
---|---|
Copy tevékenység (forrás/-) | (1) (2) |
Adatfolyam leképezése (forrás/-) | (1) |
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 a Google Cloud Storage-összekötő támogatja a fájlok másolását, illetve a fájlok elemzését a támogatott fájlformátumokkal és tömörítési kodekekkel. Kihasználja a GCS S3-kompatibilis együttműködési lehetőségeit.
Előfeltételek
A Google Cloud Storage-fiókhoz a következő beállítás szükséges:
- Együttműködés engedélyezése a Google Cloud Storage-fiókhoz
- Állítsa be az alapértelmezett projektet, amely a cél GCS-gyűjtőből másolni kívánt adatokat tartalmazza.
- Hozzon létre egy szolgáltatásfiókot, és határozza meg a megfelelő engedélyeket a felhőbeli IAM használatával a GCP-n.
- Hozza létre a szolgáltatásfiók hozzáférési kulcsait.
Szükséges engedélyek
Ha adatokat szeretne másolni a Google Cloud Storage-ból, győződjön meg arról, hogy a következő engedélyekkel rendelkezik az objektumműveletekhez: storage.objects.get
és storage.objects.list
.
Ha felhasználói felületet használ a létrehozáshoz, további storage.buckets.list
engedélyre van szükség olyan műveletekhez, mint a társított szolgáltatáshoz való kapcsolódás tesztelése és a gyökérből való böngészés. Ha nem szeretné megadni ezt az engedélyt, a felhasználói felületen választhatja a "Kapcsolat tesztelése a fájl elérési útján" vagy a "Tallózás a megadott elérési útból" lehetőséget.
A Google Cloud Storage-szerepkörök és a kapcsolódó engedélyek teljes listájáért tekintse meg a Cloud Storage IAM-szerepköreit a Google Cloud webhelyén.
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 a Google Cloud Storage-hoz felhasználói felülettel
Az alábbi lépésekkel társított szolgáltatást hozhat létre a Google Cloud Storage-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:
Keressen rá a Google-ra, és válassza ki a Google Cloud Storage (S3 API) ö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 a Google Cloud Storage-ra jellemző Data Factory-entitások meghatározásához használt tulajdonságok részleteit ismertetik.
Társított szolgáltatás tulajdonságai
A Google Cloud Storage társított szolgáltatásai az alábbi tulajdonságokat támogatják:
Tulajdonság | Leírás | Kötelező |
---|---|---|
típus | A típustulajdonságot GoogleCloudStorage értékre kell állítani. | Igen |
accessKeyId | A titkos hozzáférési kulcs azonosítója. A hozzáférési kulcs és a titkos kód megkereséséhez tekintse meg az előfeltételeket. | Igen |
secretAccessKey | Maga a titkos hozzáférési kulcs. 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. | Igen |
serviceUrl | Adja meg az egyéni GCS-végpontot .https://storage.googleapis.com |
Igen |
connectVia | Az adattárhoz való csatlakozáshoz használandó integrációs modul . Használhatja az Azure integrációs modult vagy a saját üzemeltetésű integrációs modult (ha az adattár magánhálózaton található). Ha ez a tulajdonság nincs megadva, a szolgáltatás az alapértelmezett Azure-integrációs modult használja. | Nem |
Példa:
{
"name": "GoogleCloudStorageLinkedService",
"properties": {
"type": "GoogleCloudStorage",
"typeProperties": {
"accessKeyId": "<access key id>",
"secretAccessKey": {
"type": "SecureString",
"value": "<secret access key>"
},
"serviceUrl": "https://storage.googleapis.com"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Adathalmaz tulajdonságai
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
A Google Cloud Storage 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 a GoogleCloudStorageLocation értékre kell állítania. |
Igen |
bucketName | A GCS-gyűjtő neve. | Igen |
folderPath | Az adott gyűjtő alatti mappa elérési útja. Ha helyettesítő karakterrel szeretné szűrni a mappát, hagyja ki ezt a beállítást, és adja meg a tevékenység forrásbeállításaiban. | Nem |
fileName | A megadott gyűjtő és mappa elérési útja alatti fájlnév. Ha helyettesítő karakterrel szeretné szűrni a fájlokat, 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": "<Google Cloud Storage linked service name>",
"type": "LinkedServiceReference"
},
"schema": [ < physical schema, optional, auto retrieved during authoring > ],
"typeProperties": {
"location": {
"type": "GoogleCloudStorageLocation",
"bucketName": "bucketname",
"folderPath": "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 a Google Cloud Storage-forrás által támogatott tulajdonságok listáját tartalmazza.
A Google Cloud Storage mint forrástípus
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
A Google Cloud Storage 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 a GoogleCloudStorageReadSettings é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 gyűjtőből vagy mappa/fájl elérési útjából. Ha az összes fájlt egy gyűjtőből vagy mappából szeretné másolni, adja meg wildcardFileName a következőt * is: . |
|
2. LEHETŐSÉG: GCS-előtag -előképző |
A GCS-kulcs nevének előtagja az adathalmazban konfigurált adott gyűjtőben a forrás GCS-fájlok szűrésére. Azok a GCS-kulcsok, amelyek neve a kezdőbetűkkel bucket_in_dataset/this_prefix kezdődik, ki vannak választva. A GCS szolgáltatásoldali szűrőjét használja, amely jobb teljesítményt nyújt, mint egy helyettesítő karakterszűrő. |
Nem |
3. LEHETŐSÉG: helyettesítő karakter - helyettesítő karakterekFolderPath |
A mappa elérési útja helyettesítő karakterekkel az adott gyűjtő alatt, amely egy adatkészletben konfigurálva van a forrásmappák szűrésére. Az engedélyezett helyettesítő karakterek a következők: * (nulla vagy több karakternek felel meg) és ? (nulla vagy egyetlen karakternek felel meg). A feloldás akkor használható ^ , ha a mappa neve helyettesítő karakterrel vagy ezzel a feloldó karakterrel rendelkezik. További példák a mappa- és fájlszűrő példákban. |
Nem |
3. LEHETŐSÉG: helyettesítő karakter - wildcardFileName |
A forrásfájlok szűréséhez használt fájlnév helyettesítő karakterekkel a megadott gyűjtő- és mappaútvonal (vagy helyettesítő mappa elérési útja) alatt. Az engedélyezett helyettesítő karakterek a következők: * (nulla vagy több karakternek felel meg) és ? (nulla vagy egyetlen karakternek felel meg). A feloldás akkor használható ^ , ha a fájlnévben helyettesítő karakter vagy ez a feloldó karakter található. 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 adja meg a 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 |
modifiedDatetimeStart | A fájlok szűrése a legutóbb módosított attribútum alapján történik. A fájlok akkor lesznek kijelölve, ha az utolsó módosításuk időpontja nagyobb vagy egyenlő, modifiedDatetimeStart mint modifiedDatetimeEnd a . Az idő az UTC időzónára "2018-12-01T05:00:00Z" formátumban lesz alkalmazva. A tulajdonságok null értékűek lehetnek, ami azt jelenti, hogy az adathalmazra nem alkalmaz fájlattribútum-szűrőt. Ha modifiedDatetimeStart dátum/idő érték van megadva, de modifiedDatetimeEnd NULL értékű, a program kijelöli azokat a fájlokat, amelyek utolsó módosított attribútuma nagyobb vagy egyenlő a datetime értéknél. Ha modifiedDatetimeEnd dátum/idő érték van megadva, de modifiedDatetimeStart NULL értékű, a program kijelöli azokat a fájlokat, amelyek utolsó módosított attribútuma kisebb a datetime értéknél.Ez a tulajdonság nem érvényes a konfiguráláskor fileListPath . |
Nem |
modifiedDatetimeEnd | Lásd fentebb. | 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 |
Példa:
"activities":[
{
"name": "CopyFromGoogleCloudStorage",
"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": "GoogleCloudStorageReadSettings",
"recursive": true,
"wildcardFolderPath": "myfolder*A",
"wildcardFileName": "*.csv"
}
},
"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.
vödör | kulcs | 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) |
---|---|---|---|
vödör | Folder*/* |
false | vödör FolderA File1.csv File2.json Almappák1 File3.csv File4.json File5.csv MásikFolderB File6.csv |
vödör | Folder*/* |
true | vödör FolderA File1.csv File2.json Almappák1 File3.csv File4.json File5.csv MásikFolderB File6.csv |
vödör | Folder*/*.csv |
false | vödör FolderA File1.csv File2.json Almappák1 File3.csv File4.json File5.csv MásikFolderB File6.csv |
vödör | Folder*/*.csv |
true | vödör 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 Copy tevékenység forrásban található fájllista-elérési út használatának eredő viselkedését ismerteti.
Tegyük fel, 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ó |
---|---|---|
vödö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: -Vödör: bucket - Mappa elérési útja: FolderA Másolási tevékenység forrása: - Fájllista elérési útja: bucket/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. |
Adatfolyam-tulajdonságok leképezése
A leképezési adatfolyamok adatainak átalakításakor a Google Cloud Storage-ból a következő formátumokban olvashat fájlokat:
A formátumspecifikus beállítások az adott formátum dokumentációjában találhatók. További információ: Forrásátalakítás a leképezési adatfolyamban.
Forrásátalakítás
A forrásátalakítás során egy tárolóból, mappából vagy egyéni fájlból olvashat a Google Cloud Storage-ban. A Forrásbeállítások lapon kezelheti a fájlok olvasási módját.
Helyettesítő karakterek elérési útjai: A helyettesítő karakterek mintája arra utasítja a szolgáltatást, hogy egyetlen forrásátalakítás során végighaladjon az egyes egyező mappákon és fájlokon. Ez egy hatékony módja annak, hogy több fájlt dolgozzanak fel egyetlen folyamaton belül. Adjon hozzá több helyettesítő karakterillesztési mintát a meglévő helyettesítő karakterminta fölé rámutatáskor megjelenő pluszjellel.
A forrástárolóban válasszon ki egy mintának megfelelő fájlsorozatot. Az adathalmazban csak tároló adható meg. A helyettesítő karakter elérési útjának ezért tartalmaznia kell a gyökérmappából származó mappa elérési útját is.
Példák helyettesítő karakterekre:
*
Bármilyen karakterkészletet jelöl.**
Rekurzív könyvtárbe ágyazást jelöl.?
Egy karaktert cserél le.[]
Egy vagy több karaktert tartalmaz a szögletes zárójelekben./data/sales/**/*.csv
Lekéri az összes .csv fájlt az /data/sales területen./data/sales/20??/**/
Lekéri az összes fájlt a 20./data/sales/*/*/*.csv
Lekéri .csv fájlokat két szinten az /data/sales alatt./data/sales/2004/*/12/[XY]1?.csv
2004 decemberében lekéri az összes .csv fájlt, amely egy kétjegyű számmal ellátott X vagy Y előtaggal kezdődik.
Partíció gyökérútvonala: Ha a fájlforrásban key=value
vannak olyan particionált mappák, year=2019
amelyek formátuma (például), akkor a partíciómappa fának felső szintjét hozzárendelheti az adatfolyam egyik oszlopnevére.
Először állítson be egy helyettesítő karaktert, hogy tartalmazza a particionált mappák összes elérési útját, valamint az elolvasni kívánt levélfájlokat.
A partíció gyökérútvonal-beállításával meghatározhatja, hogy mi a mappastruktúra legfelső szintje. Ha az adatok tartalmát egy adatelőnézeten keresztül tekinti meg, láthatja, hogy a szolgáltatás hozzáadja az egyes mappaszinteken található feloldott partíciókat.
Fájlok listája: Ez egy fájlkészlet. Hozzon létre egy szövegfájlt, amely tartalmazza a feldolgozandó relatív elérésiút-fájlok listáját. Mutasson erre a szövegfájlra.
A fájlnév tárolására használt oszlop: Tárolja a forrásfájl nevét az adatok egyik oszlopában. Itt adjon meg egy új oszlopnevet a fájlnév-sztring tárolásához.
Befejezés után: Válassza ki, hogy az adatfolyam futtatása után nem szeretne semmit tenni a forrásfájllal, törli a forrásfájlt, vagy áthelyezi a forrásfájlt. Az áthelyezés elérési útjai relatívek.
Ha a forrásfájlokat egy másik helyre szeretné áthelyezni a feldolgozás után, először válassza az "Áthelyezés" lehetőséget a fájlművelethez. Ezután állítsa be a "from" könyvtárat. Ha nem használ helyettesítő karaktereket az elérési úthoz, akkor a "from" beállítás ugyanaz lesz, mint a forrásmappa.
Ha helyettesítő karakterrel rendelkező forrásútvonallal rendelkezik, a szintaxis a következőképpen fog kinézni:
/data/sales/20??/**/*.csv
A következő módon adhatja meg a "from" értéket:
/data/sales
A "to" értéket pedig a következő módon adhatja meg:
/backup/priorSales
Ebben az esetben a rendszer az alattuk /data/sales
forrásként kapott összes fájlt áthelyezi a fájlba /backup/priorSales
.
Feljegyzés
A fájlműveletek csak akkor futnak, ha egy folyamatfuttatásból (folyamat hibakereséséből vagy végrehajtási futtatásából) indítja el az adatfolyamot, amely a folyamat végrehajtási Adatfolyam tevékenységét használja. A fájlműveletek nem Adatfolyam hibakeresési módban futnak.
Szűrés utoljára módosítva: A legutóbb módosított fájlok dátumtartományának megadásával szűrheti a feldolgozott fájlokat. Minden dátumidő UTC-ben van.
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 tekintse meg a GetMetadata tevékenységét.
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
Ha Amazon S3-összekötőt használ az adatok Google Cloud Storage-ból való másolásához, az továbbra is támogatott a visszamenőleges kompatibilitáshoz hasonlóan. Javasoljuk, hogy használja a korábban említett új modellt. A szerzői felhasználói felület az új modell létrehozására váltott.
Kapcsolódó tartalom
Azoknak az adattáraknak a listáját, amelyeket a Copy tevékenység forrásként és fogadóként támogat, tekintse meg a támogatott adattárakat.