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/-) ① ②
Adatfolyam leképezése (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 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:

  1. Együttműködés engedélyezése a Google Cloud Storage-fiókhoz
  2. Állítsa be az alapértelmezett projektet, amely a cél 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élyeket 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

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:

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.

  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. Keressen rá a Google-ra, é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.

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

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

A Google Cloud Storage 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 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.

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:

Property Leírás Required
típus Az alábbi storeSettings típustulajdonságnak a GoogleCloudStorageRead 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 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őtag
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 modifiedDatetimeEnda . 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 modifiedDatetimeEndNULL é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 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

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 fájlban 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.

Screenshot of Source options.

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 a /data/sales területen.

  • /data/sales/20??/**/ Lekéri az összes fájlt a 20.

  • /data/sales/*/*/*.csv Lekéri a .csv fájlokat két szinttel a /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=2019amelyek 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.

Screenshot of partition source file settings.

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.

Screenshot of partition root path.

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.

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

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.