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:

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:

  1. A Google Cloud-Storage-fiók együttműködési lehetőségeinek engedélyezése
  2. Á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.
  3. 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.
  4. Hozza létre a szolgáltatásfiók hozzáférési kulcsait.

Retrieve access key for Google Cloud Storage

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:

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.

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

  2. Keresse meg a Google-t, és válassza ki a Google Cloud Storage (S3 API) összekötőt.

    Select the Google Cloud Storage (S3 API) 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.

    Configure a linked service to Google Cloud Storage.

Ö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.

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

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 modifiedDatetimeEnda . 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 modifiedDatetimeEndNULL é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 modifiedDatetimeStartNULL é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 monthday 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.