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í:
- Povolení interoperability pro účet služby Google Cloud Storage
- Nastavte výchozí projekt obsahující data, která chcete zkopírovat z cílového kontejneru GCS.
- Vytvořte účet služby a definujte správné úrovně oprávnění pomocí Cloud IAM v GCP.
- Vygenerujte přístupové klíče pro tento účet služby.
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:
- Nástroj pro kopírování dat
- Azure Portal
- Sada .NET SDK
- Sada Python SDK
- Azure PowerShell
- Rozhraní REST API
- Šablona Azure Resource Manageru
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.
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ý:
Vyhledejte Google a vyberte konektor Google Cloud Storage (S3 API).
Nakonfigurujte podrobnosti o službě, otestujte připojení a vytvořte novou propojenou službu.
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.
- Formát Avro
- Binární formát
- Formát textu s oddělovači
- Formát aplikace Excel
- Formát JSON
- Formát ORC
- Formát Parquet
- Formát XML
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.
- Formát Avro
- Binární formát
- Formát textu s oddělovači
- Formát aplikace Excel
- Formát JSON
- Formát ORC
- Formát Parquet
- Formát XML
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 modifiedDatetimeEnd má hodnotu NULL, budou vybrány soubory, jejichž atribut poslední změny je větší nebo roven hodnotě datetime. Pokud modifiedDatetimeEnd má hodnotu datetime, ale modifiedDatetimeStart má hodnotu 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.
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.
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.
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.
Související obsah
Seznam úložišť dat, která aktivita Copy podporuje jako zdroje a jímky, najdete v tématu Podporované úložiště dat.