Kopírování dat z cloudového úložiště Google pomocí Azure Data Factory nebo Synapse Analytics

VZTAHUJE SE NA: Azure Data Factory Azure Synapse Analytics

Tip

Data Factory v Microsoft Fabric je nová generace Azure Data Factory s jednodušší architekturou, integrovanou AI a novými funkcemi. Pokud s integrací dat začínáte, začněte Fabric Data Factory. Stávající úlohy ADF lze upgradovat na Fabric pro přístup k novým funkcím v oblastech datové vědy, analýz v reálném čase a vytváření sestav.

Tento článek popisuje, jak kopírovat data z Google Cloud Storage (GCS). Další informace najdete v úvodních článcích pro Azure Data Factory a Synapse Analytics.

Poznámka:

Tento konektor je také k dispozici ve službě Data Factory v Microsoft Fabric. Informace o konfiguraci a funkcích specifických pro Fabric najdete v dokumentaci ke konektoru Fabric Google Cloud Storage.

Podporované funkce

Tento konektor Google Cloud Storage je podporovaný pro následující funkce:

Podporované funkce IR
aktivita Copy (zdroj/-) (1) (2)
Mapování toku dat (zdroj/-) (1)
Aktivita vyhledávání (1) (2)
Aktivita GetMetadata (1) (2)
Odstranit aktivitu (1) (2)

(1) Azure Integration Runtime (2) Lokálně hostované Integration Runtime

Konkrétně tento konektor Google Cloud Storage podporuje kopírování souborů tak, jak jsou nebo parsují soubory s podporovanými formáty souborů a komprimačními kodeky. Využívá S3 kompatibilní interoperabilitu GCS.

Požadavky

V účtu služby Google Cloud Storage se vyžaduje následující nastavení:

  1. Povolení interoperability pro účet služby Google Cloud Storage
  2. Nastavte výchozí projekt obsahující data, která chcete zkopírovat z cílového kontejneru GCS.
  3. Vytvořte účet služby a definujte správné úrovně oprávnění pomocí Cloud IAM v GCP.
  4. Vygenerujte přístupové klíče pro tento účet služby.

Načtení přístupového klíče pro Google Cloud Storage

Požadována oprávnění

Pokud chcete kopírovat data z Google Cloud Storage, ujistěte se, že máte udělená následující oprávnění pro operace objektů: storage.objects.get a storage.objects.list.

Pokud k vytváření používáte UI, je vyžadováno oprávnění pro specifické operace, jako je testování připojení k propojené službě a procházení z kořenového adresáře. Pokud toto oprávnění nechcete udělit, můžete v uživatelském rozhraní zvolit možnost Testovat připojení k cestě k souboru nebo Procházet ze zadané cesty.

Úplný seznam rolí cloudového úložiště Google a přidružených oprávnění najdete v tématu Role IAM pro Cloudové úložiště na webu Google Cloud.

Začínáme

K provedení aktivity kopírování pomocí datového kanálu můžete použít jeden z následujících nástrojů nebo sad SDK:

Vytvoření propojené služby s Google Cloud Storage pomocí uživatelského rozhraní

Pomocí následujícího postupu vytvořte propojenou službu s Google Cloud Storage v uživatelském rozhraní portálu Azure.

  1. Přejděte na kartu Spravovat v pracovním prostoru Azure Data Factory nebo Synapse a vyberte Propojené služby a pak vyberte Nový:

  2. Vyhledejte Google a vyberte konektor Google Cloud Storage (S3 API).

    Vyberte konektor Google Cloud Storage (S3 API).

  3. Nakonfigurujte podrobnosti o službě, otestujte připojení a vytvořte novou propojenou službu.

    Nakonfigurujte propojenou službu pro Google Cloud Storage.

Podrobnosti konfigurace konektoru

Následující části obsahují podrobnosti o vlastnostech, které slouží k definování entit služby Data Factory specifických pro Google Cloud Storage.

Vlastnosti propojené služby

Propojené služby Google Cloud Storage podporují následující vlastnosti:

Vlastnost Popis Povinné
typ Vlastnost typu musí být nastavena na GoogleCloudStorage. Ano
accessKeyId ID tajného přístupového klíče. Informace o vyhledání přístupového klíče a tajného kódu najdete v části Požadavky. Ano
tajný klíč pro přístup Samotný tajný přístupový klíč. Toto pole označte jako SecureString pro bezpečné uložení nebo reference tajného kódu uloženého v Azure Key Vault. Ano
serviceUrl Zadejte vlastní koncový bod GCS jako https://storage.googleapis.com. Ano
connectVia Pro připojení k úložišti dat má být použito prostředí Integration Runtime. Můžete použít prostředí Azure Integration Runtime nebo místní prostředí Integration Runtime (pokud je vaše úložiště dat v privátní síti). Pokud tato vlastnost není zadaná, služba používá výchozí prostředí Azure Integration Runtime. Ne

Tady je příklad:

{
    "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"
        }
    }
}

Vlastnosti datové sady

Azure Data Factory podporuje následující formáty souborů. Informace o nastaveních založených na formátu najdete v jednotlivých článcích.

V nastavení v datové sadě založené na formátu jsou podporovány následující vlastnosti pro Google Cloud Storage location :

Vlastnost Popis Povinné
typ Vlastnost type pod location v datové sadě musí být nastavena na GoogleCloudStorageLocation. Ano
název bucketu Název kontejneru GCS. Ano
folderPath Cesta ke složce v daném kontejneru. Pokud chcete k filtrování složky použít zástupný znak, přeskočte toto nastavení a určete ho v nastavení zdroje aktivity. Ne
názevSouboru Název souboru v daném kontejneru a cestě ke složce. Pokud chcete k filtrování souborů použít zástupný znak, přeskočte toto nastavení a zadejte ho v nastavení zdroje aktivity. Ne

Příklad:

{
    "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"
        }
    }
}

Vlastnosti kopírovací aktivity

Úplný seznam oddílů a vlastností dostupných pro definování aktivit najdete v článku Pipelines . Tato část obsahuje seznam vlastností, které podporuje zdroj cloudového úložiště Google.

Google Cloud Storage jako typ zdroje

Azure Data Factory podporuje následující formáty souborů. Informace o nastaveních založených na formátu najdete v jednotlivých článcích.

Služba Google Cloud Storage storeSettings v nastavení ve zdroji kopírování založeném na formátu podporuje následující vlastnosti:

Vlastnost Popis Povinné
typ Vlastnost typu v části storeSettings musí být nastavena na GoogleCloudStorageReadSettings. Ano
Vyhledejte soubory, které chcete zkopírovat:
MOŽNOST 1: Statická cesta
Zkopírujte z daného kontejneru nebo cesty ke složce nebo souboru zadané v datové sadě. Pokud chcete zkopírovat všechny soubory z kontejneru nebo složky, dále zadejte wildcardFileName jako *.
MOŽNOST 2: Předpona GCS
- předpona
Předpona pro název klíče GCS v daném bucketu, který je nakonfigurován v datové sadě pro filtrování zdrojové soubory GCS. Klíče GCS, jejichž názvy začínají na bucket_in_dataset/this_prefix, jsou vybrány. Využívá filtr na straně služby GCS, který poskytuje lepší výkon než filtr zástupných znaků. Ne
MOŽNOST 3: Zástupný znak
– zástupný znakFolderPath
Cesta ke složce se zástupnými znaky v daném kontejneru nakonfigurovaným v datové sadě pro filtrování zdrojových složek.
Povolené zástupné znaky jsou: * (odpovídá nule nebo více znaků) a ? (odpovídá nule nebo jednomu znaku). Pro použití `^` k úniku, pokud název vaší složky obsahuje zástupný znak nebo tento únikový znak uvnitř.
Další příklady najdete v příkladech filtru složek a souborů.
Ne
MOŽNOST 3: Zástupný znak
- zástupnýSouborovýNázev
Název souboru se zástupnými znaky v daném kontejneru a cestě ke složce (nebo cestu ke složce se zástupnými znaky) pro filtrování zdrojových souborů.
Povolené zástupné znaky jsou: * (odpovídá nule nebo více znaků) a ? (odpovídá nule nebo jednomu znaku). Použijte ^ k únikové sekvenci, pokud název vašeho souboru obsahuje zástupný znak nebo tento únikový znak. Další příklady najdete v příkladech filtru složek a souborů.
Ano
MOŽNOST 3: seznam souborů
- fileListPath
Označuje, že chcete zkopírovat danou sadu souborů. Přejděte na textový soubor, který obsahuje seznam souborů, které chcete kopírovat, jeden soubor na řádek, což je relativní cesta k cestě nakonfigurované v datové sadě.
Při použití této možnosti nezadávejte název souboru v datové sadě. Další příklady najdete v příkladech seznamu souborů.
Ne
Další nastavení:
rekurzivní Určuje, zda se data čtou rekurzivně z podsložek nebo pouze ze zadané složky. Všimněte si, že pokud je rekurze nastavena na true a cílové úložiště je založeno na souborech, prázdná složka nebo podsložka se v cílovém úložišti nezkopíruje ani nevytvoří.
Povolené hodnoty jsou true (výchozí) a false.
Tato vlastnost se nepoužije při konfiguraci fileListPath.
Ne
smazatSouboryPoDokončení Určuje, zda se binární soubory odstraní ze zdrojového úložiště po úspěšném přesunutí do cílového úložiště. Odstranění souboru je každý soubor jednotlivě, takže když aktivita kopírování selže, uvidíte, že některé soubory již byly zkopírovány do cílového úložiště a odstraněny ze zdroje, zatímco jiné stále zůstávají ve zdrojovém úložišti.
Tato vlastnost je platná pouze ve scénáři kopírování binárních souborů. Výchozí hodnota: false.
Ne
modifiedDatetimeStart Soubory se filtrují na základě atributu: naposledy změněno.
Soubory budou vybrány, pokud je jejich čas poslední změny větší nebo roven modifiedDatetimeStart a menší než modifiedDatetimeEnd. Čas se použije u časového pásma UTC ve formátu "2018-12-01T05:00:00Z".
Vlastnosti můžou mít hodnotu NULL, což znamená, že u datové sady se nepoužije žádný filtr atributů souboru. Pokud modifiedDatetimeStart má hodnotu datetime, ale modifiedDatetimeEndhodnotu NULL, budou vybrány soubory, jejichž atribut poslední změny je větší nebo roven hodnotě datetime. Pokud modifiedDatetimeEnd má hodnotu datetime, ale modifiedDatetimeStarthodnotu NULL, budou vybrány soubory, jejichž atribut poslední změny je menší než hodnota datetime.
Tato vlastnost se nepoužije při konfiguraci fileListPath.
Ne
upravenéDatumAČasKonec Platí to samé jako výše. Ne
povolitPartitionDiscovery U souborů, které jsou rozdělené na oddíly, určete, zda chcete analyzovat oddíly z cesty k souboru a přidat je jako další zdrojové sloupce.
Povolené hodnoty jsou false (výchozí) a true.
Ne
partitionRootPath Pokud je povoleno zjišťování oddílů, zadejte absolutní kořenovou cestu k čtení složek v oddílech jako datových sloupců.

Pokud to není zadáno, ve výchozím nastavení
– Při použití cesty k souboru v datové sadě nebo seznamu souborů ve zdroji je kořenová cesta oddílu cesta nakonfigurovaná v datové sadě.
– Pokud používáte filtr složky se zástupnými znaky, pak kořenová cesta oddílu je podcestou před prvním zástupným znakem.

Předpokládejme například, že cestu v datové sadě nakonfigurujete jako "root/folder/year=2020/month=08/day=27":
– Pokud zadáte kořenovou cestu oddílu jako "root/folder/year=2020", aktivita kopírování vygeneruje dva další sloupce month a day s hodnotou 08 a 27 kromě sloupců uvnitř souborů.
– Pokud není zadaná kořenová cesta oddílu, nevygeneruje se žádný sloupec navíc.
Ne
maxConcurrentConnections Horní limit souběžných připojení vytvořených k úložišti dat během spuštění aktivity. Zadejte hodnotu pouze v případech, kdy chcete omezit souběžná připojení. Ne

Příklad:

"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říklady filtrů složek a souborů

Tato část popisuje výsledné chování cesty ke složce a názvu souboru pomocí filtrů zástupných znaků.

kbelík klíč rekurzivní Struktura zdrojové složky a filtrované výsledky (soubory zobrazené tučně)
kbelík Folder*/* nepravda kbelík
    FolderA
         File1.csv
         File2.json
        Podsložka 1
            File3.csv
            File4.json
            File5.csv
    AnotherFolderB
        File6.csv
kbelík Folder*/* pravda kbelík
    FolderA
         File1.csv
         File2.json
        Podsložka 1
             File3.csv
             File4.json
             File5.csv
    AnotherFolderB
        File6.csv
kbelík Folder*/*.csv nepravda kbelík
    FolderA
         File1.csv
        File2.json
        Podsložka 1
            File3.csv
            File4.json
            File5.csv
    AnotherFolderB
        File6.csv
kbelík Folder*/*.csv pravda kbelík
    FolderA
         File1.csv
        File2.json
        Podsložka 1
             File3.csv
            File4.json
             File5.csv
    AnotherFolderB
        File6.csv

Příklady seznamu souborů

Tato část popisuje výsledné chování použití cesty k seznamu souborů ve zdroji aktivita Copy.

Předpokládejme, že máte následující strukturu zdrojové složky a chcete zkopírovat soubory tučně:

Ukázková zdrojová struktura Obsah souboru FileListToCopy.txt Konfigurace
kbelík
    FolderA
         File1.csv
        File2.json
        Podsložka 1
             File3.csv
            File4.json
             File5.csv
    Metaúdaje
        FileListToCopy.txt
File1.csv
Podsložka1/Soubor3.csv
Podsložka1/File5.csv
V datové sadě:
-Kbelík: bucket
- Cesta ke složce: FolderA

Ve zdroji aktivity kopírování:
- Cesta k seznamu souborů: bucket/Metadata/FileListToCopy.txt

Cesta k seznamu souborů odkazuje na textový soubor ve stejném úložišti dat, který obsahuje seznam souborů, které chcete kopírovat, jeden soubor na řádek s relativní cestou k cestě nakonfigurované v datové sadě.

Mapování vlastností toku dat

Při transformaci dat v mapování toků dat můžete číst soubory z Google Cloud Storage v následujících formátech:

Nastavení specifické pro formátování se nachází v dokumentaci pro tento formát. Další informace najdete v tématu Transformace zdroje v mapování toku dat.

Transformace zdroje

Ve zdrojové transformaci můžete číst z kontejneru, složky nebo jednotlivého souboru v Google Cloud Storage. Ke správě způsobu čtení souborů použijte kartu Možnosti zdroje.

Snímek obrazovky s možnostmi zdroje

Cesty se zástupnými znaky: Použití vzoru se zástupným znakem dává službě pokyn, aby prošel jednotlivými odpovídajícími složkami a soubory v jedné transformaci zdroje. Jedná se o efektivní způsob, jak zpracovat více souborů v rámci jednoho toku. Přidejte několik vzorů se zástupnými znaky pomocí znaménka plus, které se zobrazí, když přesunete kurzor myši nad existující vzor se zástupnými znaky.

Ve zdrojovém kontejneru zvolte řadu souborů, které odpovídají vzoru. V datové sadě je možné zadat pouze kontejner. Vaše cesta se zástupnými znaky musí tedy také zahrnovat cestu ke složce od kořenového adresáře.

Příklady zástupných znaků:

  • * Představuje libovolnou sadu znaků.

  • ** Představuje rekurzivní vnoření adresářů.

  • ? Nahradí jeden znak.

  • [] Odpovídá jednomu nebo více znakům v hranatých závorkách.

  • /data/sales/**/*.csv Získá všechny .csv soubory v části /data/sales.

  • /data/sales/20??/**/ Získá všechny soubory ve 20. století.

  • /data/sales/*/*/*.csv Stáhne .csv soubory ze dvou úrovní pod složkou /data/sales.

  • /data/sales/2004/*/12/[XY]1?.csv Získá všechny .csv soubory z prosince 2004, které začínají dvouciferným číslem následovaným písmenem X nebo Y.

Kořenová cesta oddílu: Pokud máte ve zdroji souborů oddílované složky s formátem key=value (například year=2019), můžete přiřadit nejvyšší úroveň stromu složek oddílu k názvu sloupce ve vašem datovém toku.

Nejprve nastavte zástupný znak tak, aby zahrnoval všechny cesty, které jsou rozdělené složky a soubory typu list, které chcete přečíst.

Snímek obrazovky s nastavením zdrojového souboru oddílu

Pomocí nastavení kořenová cesta oddílu určete, jaká je nejvyšší úroveň struktury složek. Když zobrazíte obsah dat prostřednictvím náhledu dat, uvidíte, že služba přidá vyřešené oddíly nalezené v jednotlivých úrovních složek.

Snímek obrazovky s kořenovou cestou oddílu

Seznam souborů: Toto je sada souborů. Vytvořte textový soubor, který obsahuje seznam souborů relativní cesty ke zpracování. Odkazujte na tento textový soubor.

Sloupec pro uložení názvu souboru: Uložte název zdrojového souboru do sloupce ve vašich datech. Sem zadejte nový název sloupce, do které se uloží řetězec názvu souboru.

Po dokončení: Po spuštění toku dat můžete s zdrojovým souborem dělat nic, odstranit zdrojový soubor nebo ho přesunout. Cesty pro přesunutí jsou relativní.

Chcete-li přesunout zdrojové soubory do jiného umístění po zpracování, vyberte nejprve možnost Přesunout pro operaci se souborem. Pak nastavte adresář "from". Pokud pro svou cestu nepoužíváte žádné zástupné znaky, bude nastavení „from“ stejné jako vaše zdrojová složka.

Pokud máte zdrojovou cestu se zástupným znakem, syntaxe bude vypadat takto:

/data/sales/20??/**/*.csv

Můžete zadat "from" jako:

/data/sales

A můžete zadat "komu" jako:

/backup/priorSales

V tomto případě se všechny soubory, které pocházely z /data/sales, přesunou do /backup/priorSales.

Poznámka:

Operace se soubory se spouštějí pouze tehdy, když spustíte datový tok prostřednictvím spuštění kanálu (ladění kanálu nebo prováděcího spuštění), který používá aktivitu Execute Tok dat v kanálu. Operace se souborovými neprobíhají v režimu ladění Tok dat.

Filtrovat podle poslední změny: Můžete filtrovat soubory, které zpracováváte, zadáním rozsahu dat, ve kterém byly naposledy změněny. Všechna data a časy jsou ve standardu UTC.

Vlastnosti aktivity vyhledávání

Podrobnosti o vlastnostech najdete v aktivitě Vyhledávání.

Vlastnosti aktivity GetMetadata

Podrobnosti o vlastnostech najdete v aktivitě GetMetadata.

Odstranění vlastností aktivity

Pokud se chcete dozvědět podrobnosti o vlastnostech, podívejte se na Delete activity.

Starší modely

Pokud jste ke kopírování dat z Google Cloud Storage používali konektor Amazon S3, kvůli zpětné kompatibilitě se stále podporuje v původní podobě. Doporučujeme použít nový model uvedený dříve. Uživatelské rozhraní pro vytváření obsahu se přepnulo na generování nového modelu.

Seznam úložišť dat, která aktivita Copy podporuje jako zdroje a jímky, najdete v tématu Podporovaná úložiště dat.