Kopírování dat z úložiště kompatibilního s Amazon S3 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 ze služby Amazon Simple Storage Service (Amazon S3) Kompatibilní úložiště. Další informace najdete v úvodních článcích pro Azure Data Factory a Synapse Analytics.
Podporované funkce
Tento konektor Úložiště kompatibilní se službou Amazon S3 je podporovaný pro následující funkce:
Podporované funkce | IR |
---|---|
aktivita Copy (zdroj/-) | (1) (2) |
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 Amazon S3 Compatible Storage podporuje kopírování souborů stejně jako soubory nebo parsování souborů s podporovanými formáty souborů a komprimačními kodeky. Konektor používá k ověřování požadavků na S3 podpis AWS verze 4 . Pomocí tohoto konektoru Úložiště kompatibilního s Amazon S3 můžete kopírovat data z libovolného poskytovatele úložiště kompatibilního s S3. Zadejte odpovídající adresu URL služby v konfiguraci propojené služby.
Požadována oprávnění
Pokud chcete kopírovat data z úložiště kompatibilního s Amazon S3, ujistěte se, že máte udělená následující oprávnění pro operace objektů Amazon S3: s3:GetObject
a s3:GetObjectVersion
.
Pokud k vytváření používáte uživatelské rozhraní, vyžadují se další s3:ListAllMyBuckets
a s3:ListBucket
/s3:GetBucketLocation
oprávnění pro operace, jako je testování připojení k propojené službě a procházení z kořenového adresáře. Pokud tato oprávnění nechcete udělit, můžete v uživatelském rozhraní zvolit možnost Test připojení k cestě k souboru nebo Procházet ze zadané cesty.
Úplný seznam oprávnění Amazon S3 najdete v tématu Určení oprávnění v zásadách na webu AWS.
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 úložištěm kompatibilním s Amazon S3 pomocí uživatelského rozhraní
Pomocí následujících kroků vytvořte propojenou službu s úložištěm kompatibilním s Amazon S3 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 Amazon a vyberte konektor Amazon S3 Compatible Storage.
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é se používají k definování entit specifických pro Úložiště kompatibilní s Amazon S3.
Vlastnosti propojené služby
Pro propojenou službu kompatibilní s Amazon S3 jsou podporovány následující vlastnosti:
Vlastnost | Popis | Povinní účastníci |
---|---|---|
type | Vlastnost typu musí být nastavena na AmazonS3Compatible. | Ano |
accessKeyId | ID tajného přístupového klíče. | Ano |
secretAccessKey | Samotný tajný přístupový klíč. Označte toto pole jako securestring , abyste ho mohli bezpečně uložit, nebo odkazovat na tajný klíč uložený ve službě Azure Key Vault. | Ano |
serviceUrl | Zadejte vlastní koncový bod https://<service url> S3 . |
No |
forcePathStyle | Určuje, jestli se má místo přístupu ve stylu virtuálního hostovaného stylu používat přístup ve stylu cesty S3. Povolené hodnoty jsou: false (výchozí), true. Pokud potřebujete přístup ke stylu cesty nebo ne, projděte si dokumentaci k jednotlivým úložištím dat. |
No |
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 |
Příklad:
{
"name": "AmazonS3CompatibleLinkedService",
"properties": {
"type": "AmazonS3Compatible",
"typeProperties": {
"accessKeyId": "<access key id>",
"secretAccessKey": {
"type": "SecureString",
"value": "<secret access key>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Vlastnosti datové sady
Úplný seznam oddílů a vlastností dostupných pro definování datových sad najdete v článku 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 kompatibilní s Amazon S3 location
:
Vlastnost | Popis | Povinní účastníci |
---|---|---|
type | Vlastnost location typu v datové sadě musí být nastavena na AmazonS3CompatibleLocation. |
Ano |
bucketName | Název kontejneru úložiště kompatibilního s S3. | 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 zadejte 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 |
version | Verze objektu úložiště kompatibilního s S3, pokud je povolena správa verzí úložiště kompatibilní s S3. Pokud není zadaný, načte se nejnovější verze. | No |
Příklad:
{
"name": "DelimitedTextDataset",
"properties": {
"type": "DelimitedText",
"linkedServiceName": {
"referenceName": "<Amazon S3 Compatible Storage linked service name>",
"type": "LinkedServiceReference"
},
"schema": [ < physical schema, optional, auto retrieved during authoring > ],
"typeProperties": {
"location": {
"type": "AmazonS3CompatibleLocation",
"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 úložiště kompatibilní s Amazon S3.
Amazon S3 Compatible 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
Pro Amazon S3 Compatible Storage storeSettings
v nastavení ve zdroji kopírování založeném na formátu jsou podporovány následující vlastnosti:
Vlastnost | Popis | Povinní účastníci |
---|---|---|
type | Vlastnost typu v části storeSettings musí být nastavena na AmazonS3CompatibleReadSettings. |
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 kompatibilního úložiště S3 -předpona |
Předpona pro název klíče úložiště kompatibilního s S3 v daném kontejneru nakonfigurovaného v datové sadě pro filtrování zdrojových souborů úložiště kompatibilních s S3. S3 Kompatibilní klíče úložiště, jejichž názvy začínají bucket_in_dataset/this_prefix , jsou vybrány. Využívá filtr úložiště kompatibilní se službou S3, který poskytuje lepší výkon než filtr se zástupnými cardy.Pokud použijete předponu a zvolíte kopírování do jímky založené na souborech se zachováním hierarchie, poznamenejte si dílčí cestu za poslední předponou /. Máte například zdroj bucket/folder/subfolder/file.txt a nakonfigurujte předponu jako folder/sub , pak zachovaná cesta k souboru je subfolder/file.txt . |
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 4: 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ě. Pokud používáte tuto možnost, nezadávejte v datové sadě název souboru. 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ři použití předpony je kořenová cesta oddílu pod cestou před poslední "/". 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": "CopyFromAmazonS3CompatibleStorage",
"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": "AmazonS3CompatibleReadSettings",
"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 aktivita Copy: - 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ě. |
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í.
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.