Adatok másolása a Google Cloud Storage-ból a Azure Data Factory vagy a Synapse Analytics használatával
A KÖVETKEZŐKRE VONATKOZIK: Azure Data Factory Azure Synapse Analytics
Ez a cikk azt ismerteti, hogyan másolhat adatokat a Google Cloud Storage (GCS) szolgáltatásból. További információért olvassa el a Azure Data Factory és a Synapse Analytics bevezető cikkeit.
Támogatott képességek
Ez a Google Cloud Storage-összekötő a következő tevékenységekhez támogatott:
- Copy tevékenységtámogatott forrás-/fogadómátrixtal
- Keresési tevékenység
- Metadata-tevékenység lekérése
- Tevékenység törlése
Ez a Google Cloud Storage-összekötő támogatja a fájlok másolását, illetve a fájlok a támogatott fájlformátumokkal és tömörítési kodekekkel történő elemzését. Kihasználja a GCS S3-kompatibilis együttműködési képességét.
Előfeltételek
A Google Cloud Storage-fiókjához a következő beállítás szükséges:
- A Google Cloud-Storage-fiók együttműködési lehetőségeinek engedélyezése
- Állítsa be az alapértelmezett projektet, amely a célként megadott 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élyszinteket 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
A Google Cloud Storage adatainak másolásához 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élyekre van szükség olyan műveletekhez, mint a társított szolgáltatáshoz való csatlakozás tesztelése és a gyökérszintű 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ához" vagy a "Tallózás a megadott elérési útból" lehetőséget.
A Google Cloud Storage szerepköreinek és a hozzájuk tartozó engedélyek teljes listájáért tekintse meg a Felhő Storage IAM-szerepköreit a Google Cloud webhelyén.
Első lépések
A Copy tevékenység folyamattal való végrehajtásához az alábbi eszközök vagy SDK-k egyikét használhatja:
- 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 felhasználói felület használatával
Az alábbi lépésekkel hozhat létre társított szolgáltatást a Google Cloud Storage a Azure Portal felhasználói felületén.
Tallózással lépjen a Azure Data Factory vagy Synapse-munkaterület Kezelés lapjára, válassza a Társított szolgáltatások lehetőséget, majd kattintson az Új gombra:
Keresse meg a Google-t, é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.
Összekötő konfigurációjának részletei
A következő szakaszok a Google Cloud Storage specifikus Data Factory-entitások meghatározásához használt tulajdonságokat ismertetik.
Társított szolgáltatás tulajdonságai
A Google Cloud Storage társított szolgáltatások esetében a következő tulajdonságok támogatottak:
Tulajdonság | Leírás | Kötelező |
---|---|---|
típus | A típustulajdonságotGoogleCloudStorage értékre kell állítani. | Yes |
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ételek című témakört. | Yes |
secretAccessKey | Maga a titkos hozzáférési kulcs. A mező biztonságos tárolásához jelölje meg Ezt a mezőt SecureString-ként, vagy hivatkozzon egy Azure-Key Vault tárolt titkos kódra. | Yes |
serviceUrl | Adja meg az egyéni GCS-végpontot.https://storage.googleapis.com |
Yes |
connectVia | Az adattárhoz való csatlakozáshoz használt 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 privát há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. | No |
Bemutatunk egy példát:
{
"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"
}
}
}
Adatkészlet tulajdonságai
Azure Data Factory a következő fájlformátumokat támogatja. A formátumalapú beállításokról az egyes cikkekben talál további információt.
- 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 Következő tulajdonságok támogatottak a Google Cloud Storage formátumalapú adathalmaz beállításainállocation
:
Tulajdonság | Leírás | Kötelező |
---|---|---|
típus | Az adathalmaz típustulajdonságának location GoogleCloudStorageLocation értékre kell állítania. |
Yes |
bucketName | A GCS-tároló neve. | Yes |
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. | No |
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. | No |
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 forrástípusként
Azure Data Factory a következő fájlformátumokat támogatja. A formátumalapú beállításokért tekintse meg az egyes cikkeket.
- 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 Következő tulajdonságok támogatottak a Google Cloud Storage formátumalapú másolási forrás beállításai közöttstoreSettings
:
Tulajdonság | Leírás | Kötelező |
---|---|---|
típus | A típustulajdonságotstoreSettings a GoogleCloudStorageReadSettings értékre kell állítani. |
Yes |
Keresse meg a másolandó fájlokat: | ||
1. LEHETŐSÉG: statikus elérési út |
Másolja az adathalmazban megadott gyűjtőből vagy mappából/fájl elérési útból. Ha az összes fájlt egy gyűjtőből vagy mappából szeretné másolni, adja meg wildcardFileName * azt is. |
|
2. LEHETŐSÉG: GCS-előtag - előtag |
A GCS-kulcs nevének előtagja az adathalmazban a forrás GCS-fájlok szűréséhez konfigurált adott gyűjtő alatt. Azok a GCS-kulcsok, amelyeknek a neve a következővel bucket_in_dataset/this_prefix kezdődik, ki van választva. A GCS szolgáltatásoldali szűrőjét használja, amely jobb teljesítményt nyújt, mint egy helyettesítő karakteres szűrő. |
No |
3. LEHETŐSÉG: helyettesítő karakter - helyettesítő karakterFolderPath |
A mappa elérési útja a forrásmappák szűrésére konfigurált adott gyűjtő alatt helyettesítő karakterekkel. 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 mappané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. |
No |
3. LEHETŐSÉG: helyettesítő karakter - wildcardFileName |
A fájl neve helyettesítő karakterekkel a megadott gyűjtő- és mappaútvonal (vagy helyettesítő mappa elérési útja) alatt a forrásfájlok 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). 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. |
Yes |
3. LEHETŐSÉG: fájlok listája - fileListPath |
Egy adott fájlkészlet másolását jelzi. Mutasson egy szövegfájlra, amely tartalmazza a másolni kívánt 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 beállítást használja, ne adja meg a fájlnevet az adathalmazban. További példák a Fájllista példákban. |
No |
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 igaz (alapértelmezett) és hamisak. Ez a tulajdonság nem érvényes a konfiguráláskor fileListPath . |
No |
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, így 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: false. |
No |
modifiedDatetimeStart | A fájlok szűrése az attribútum alapján történik: utoljára módosítva. 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őpont az UTC időzónára a következő formátumban lesz alkalmazva: "2018-12-01T05:00:00Z". 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ékkel. Ha modifiedDatetimeEnd dátum/idő érték van megadva, de modifiedDatetimeStart NULL értékű, akkor a program kijelöli azokat a fájlokat, amelyek utoljára módosított attribútuma kisebb, mint a datetime érték.Ez a tulajdonság nem érvényes a konfiguráláskor fileListPath . |
No |
modifiedDatetimeEnd | Lásd fentebb. | No |
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 adja hozzá őket további forrásoszlopokként. Az engedélyezett értékek hamisak (alapértelmezett) és igazak. |
No |
partitionRootPath | Ha a partíciófelderítés engedélyezve van, adja meg az abszolút gyökér elérési utat, hogy a particionált mappákat adatoszlopokként olvashassa. 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ő mappaszűrő használatakor a partíciógyökér elérési útja az első helyettesítő karakter előtti alútvonal. Tegyük fel például, hogy az adathalmazban az elérési utat a "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 két további oszlopot month day hoz létre, és a fájlokon belüli oszlopok mellett a "08" és a "27" értéket is tartalmazza.– Ha nincs megadva partíciógyökér elérési útja, a rendszer nem hoz létre további oszlopot. |
No |
maxConcurrentConnections | Az adattárban a tevékenységfuttatás során létesített egyidejű kapcsolatok felső korlátja. Csak akkor adjon meg értéket, ha korlátozni szeretné az egyidejű kapcsolatokat. | No |
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>"
}
}
}
]
Példák mappa- és fájlszűrőre
Ez a szakasz a mappa elérési útjának és a fájlnévnek a 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 betűvel jelölt fájlok lekérése) |
---|---|---|---|
Vödör | Folder*/* |
hamis | Vödör FolderA File1.csv File2.json Almappák1 File3.csv File4.json File5.csv AnotherFolderB File6.csv |
Vödör | Folder*/* |
true | Vödör FolderA File1.csv File2.json Almappák1 File3.csv File4.json File5.csv AnotherFolderB File6.csv |
Vödör | Folder*/*.csv |
hamis | Vödör FolderA File1.csv File2.json Almappák1 File3.csv File4.json File5.csv AnotherFolderB File6.csv |
Vödör | Folder*/*.csv |
true | Vödör FolderA File1.csv File2.json Almappák1 File3.csv File4.json File5.csv AnotherFolderB File6.csv |
Példák fájllistára
Ez a szakasz a fájllista elérési útjának a Copy tevékenység forrásban való használatát ismerteti.
Tegyük fel, hogy a következő forrásmappa-struktúrával rendelkezik, és félkövér betűsre szeretné másolni a fájlokat:
Minta forrásstruktúra | A FileListToCopy.txt tartalma | 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: - Gyűjtő: 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. |
Keresési tevékenység tulajdonságai
A tulajdonságok részleteinek megismeréséhez tekintse meg a keresési tevékenységet.
AMetadata-tevékenység tulajdonságainak lekérése
A tulajdonságok részleteinek megismeréséhez tekintse meg 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és tevékenységet.
Örökölt modellek
Ha Amazon S3-összekötőt használt a Google Cloud Storage adatainak másolásához, az a visszamenőleges kompatibilitáshoz hasonlóan továbbra is támogatott. Javasoljuk, hogy a korábban említett új modellt használja. A szerzői felhasználói felület az új modell létrehozására váltott.
Következő lépések
A Copy tevékenység által forrásként és fogadóként támogatott adattárak listáját a Támogatott adattárak című témakörben találja.