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/-) ① ②
Aktivita Lookup ① ②
Aktivita GetMetadata ① ②
Aktivita odstranění ① ②

(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:

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.

  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 Amazon a vyberte konektor Amazon S3 Compatible Storage.

    Select the Amazon S3 Compatible Storage connector.

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

    Configure a linked service to Amazon S3 Compatible Storage.

podrobnosti o konfiguraci Připojení oru

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.

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.

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 AmazonS3CompatibleRead Nastavení. 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ředponu
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.txta 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 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ř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
maxConcurrent Připojení ions 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 souboru 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í.

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