Sdílet prostřednictvím


Kopírování dat z Google Cloud Storage pomocí služby Azure Data Factory nebo Synapse Analytics

PLATÍ PRO: Azure Data Factory Azure Synapse Analytics

Tip

Vyzkoušejte si službu Data Factory v Microsoft Fabric, řešení pro analýzy typu all-in-one pro podniky. Microsoft Fabric zahrnuje všechno od přesunu dat až po datové vědy, analýzy v reálném čase, business intelligence a vytváření sestav. Přečtěte si, jak začít používat novou zkušební verzi zdarma.

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.

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 Lookup (1) (2)
Aktivita GetMetadata (1) (2)
Aktivita odstranění (1) (2)

(1) Prostředí Azure Integration Runtime (2) Místní prostředí 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á interoperabilitu kompatibilní s S3 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 uživatelské rozhraní, vyžaduje se pro operace, jako je testování připojení k propojené službě a procházení z kořenového adresáře, další storage.buckets.list oprávnění. 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í aktivita Copy s kanálem 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í webu Azure Portal.

  1. Přejděte na kartu Správa v pracovním prostoru Azure Data Factory nebo Synapse a vyberte Propojené služby a pak klikněte na 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í účastníci
type 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
secretAccessKey Samotný tajný přístupový klíč. Označte toto pole jako SecureString , abyste ho mohli bezpečně uložit, nebo odkazovat na tajný kód uložený ve službě Azure Key Vault. Ano
serviceUrl Zadejte vlastní koncový bod GCS jako https://storage.googleapis.com. Ano
connectVia Prostředí Integration Runtime , které se má použít pro připojení k úložišti dat. 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. No

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í účastníci
type Vlastnost location typu v datové sadě musí být nastavena na GoogleCloudStorageLocation. Ano
bucketName 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. No
fileName 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. No

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 aktivity kopírování

Ú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í účastníci
type 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 kontejneru nakonfigurované v datové sadě pro filtrování zdrojových souborů GCS. Klíče GCS, jejichž názvy začínají, 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ů. No
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). Slouží ^ k řídicímu znaku, pokud má název složky zástupný znak nebo tento řídicí znak uvnitř.
Další příklady najdete v příkladech filtru složek a souborů.
No
MOŽNOST 3: Zástupný znak
- wildcardFileName
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). Slouží ^ k řídicímu znaku, pokud má název souboru zástupný znak nebo tento řídicí znak uvnitř. 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ů.
No
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 rekurzivní nastavena na hodnotu true a jímka je úložiště založené na souborech, prázdná složka nebo podsložka se v jímce nezkopíruje ani nevytvoří.
Povolené hodnoty jsou true (výchozí) a false.
Tato vlastnost se nepoužije při konfiguraci fileListPath.
No
deleteFilesAfterCompletion 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 na každém souboru, takže když aktivita kopírování selže, uvidíte, že se některé soubory už zkopírovaly do cíle a odstranily ze zdroje, zatímco ostatní 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.
No
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.
No
modifiedDatetimeEnd Platí to samé jako výše. No
enablePartitionDiscovery 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.
No
partitionRootPath Pokud je povolené zjišťování oddílů, zadejte absolutní kořenovou cestu, abyste mohli číst dělené složky jako datové sloupce.

Pokud není ve výchozím nastavení zadán,
– 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 otazemi, je kořenová cesta oddílu dílčí cestou 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.
No
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í. No

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 key rekurzivní Struktura zdrojové složky a výsledek filtru (soubory se načítají tučně)
kbelík Folder*/* false (nepravda) kbelík
    FolderA
        File1.csv
        File2.json
        Podsložka 1
            File3.csv
            File4.json
            File5.csv
    AnotherFolderB
        File6.csv
kbelík Folder*/* true kbelík
    FolderA
        File1.csv
        File2.json
        Podsložka 1
            File3.csv
            File4.json
            File5.csv
    AnotherFolderB
        File6.csv
kbelík Folder*/*.csv false (nepravda) kbelík
    FolderA
        File1.csv
        File2.json
        Podsložka 1
            File3.csv
            File4.json
            File5.csv
    AnotherFolderB
        File6.csv
kbelík Folder*/*.csv true 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 v FileListToCopy.txt Konfigurace
kbelík
    FolderA
        File1.csv
        File2.json
        Podsložka 1
            File3.csv
            File4.json
            File5.csv
    Metadata
        FileListToCopy.txt
File1.csv
Podsložka1/File3.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ů porovnávání se zástupnými znaménkami se znaménkem plus, které se zobrazí, když najedete myší na existující vzor se zástupnými znaménky.

Ve zdrojovém kontejneru zvolte řadu souborů, které odpovídají vzoru. V datové sadě je možné zadat pouze kontejner. Cesta se zástupným znakem proto musí obsahovat také cestu ke složce z kořenové složky.

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

  • * Představuje libovolnou sadu znaků.

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

  • ? 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 v 20.

  • /data/sales/*/*/*.csv Získá .csv soubory dvě úrovně pod /data/sales.

  • /data/sales/2004/*/12/[XY]1?.csv Získá všechny .csv soubory v prosinci 2004 počínaje X nebo Y předponou dvouciferné číslo.

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

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 definujte, 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í. Přejděte 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é cardy, 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é byly zdrojové, /data/sales přesunou do /backup/priorSales.

Poznámka:

Operace se soubory se spouštějí pouze při spuštění toku dat ze spuštění kanálu (spuštění ladění kanálu nebo spuštění), který používá aktivitu Spustit Tok dat v kanálu. Operace se soubory se nespouštějí 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 chcete zjistit podrobnosti o vlastnostech, zkontrolujte aktivitu odstranění.

Starší modely

Pokud jste ke kopírování dat z Google Cloud Storage používali konektor Amazon S3, stále se podporuje, jak je to kvůli zpětné kompatibilitě. 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.