Kopírování a transformace dat na serveru SFTP pomocí Azure Data Factory nebo Azure Synapse Analytics

PLATÍ PRO: Azure Data Factory Azure Synapse Analytics

Tip

Vyzkoušejte Službu Data Factory v Microsoft Fabric, analytické řešení typu vše v jednom pro podniky. Microsoft Fabric pokrývá 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 zdarma začít používat novou zkušební verzi .

Tento článek popisuje, jak pomocí aktivity kopírování kopírovat data z a na zabezpečený server FTP (SFTP) a jak pomocí Tok dat transformovat data na serveru SFTP. Další informace najdete v úvodním článku pro Azure Data Factory nebo Azure Synapse Analytics.

Podporované funkce

Tento konektor SFTP se podporuje pro následující funkce:

Podporované funkce IR
aktivita Copy (zdroj/jímka) ① ②
Mapování toku dat (zdroj/jímka)
Aktivita Lookup ① ②
Aktivita GetMetadata ① ②
Odstranit aktivitu ① ②

(1) Prostředí Azure Integration Runtime (2) Místní prostředí Integration Runtime

Konektor SFTP konkrétně podporuje:

  • Kopírování souborů ze serveru SFTP a na server SFTP pomocí veřejného klíče Basic, veřejného klíče SSH nebo vícefaktorového ověřování
  • Kopírování souborů tak, jak je, nebo parsováním nebo generováním souborů s podporovanými formáty souborů a kompresními kodeky.

Požadavky

Pokud se vaše úložiště dat nachází v místní síti, virtuální síti Azure nebo v privátním cloudu Amazon, musíte nakonfigurovat místní prostředí Integration Runtime , abyste se k němu mohli připojit.

Pokud je vaším úložištěm dat spravovaná cloudová datová služba, můžete použít azure Integration Runtime. Pokud je přístup omezený na IP adresy schválené v pravidlech brány firewall, můžete do seznamu povolených přidat IP adresy Azure Integration Runtime.

V Azure Data Factory můžete také použít funkci prostředí Integration Runtime spravované virtuální sítě pro přístup k místní síti bez instalace a konfigurace místního prostředí Integration Runtime.

Další informace o mechanismech zabezpečení sítě a možnostech podporovaných službou Data Factory najdete v tématu Strategie přístupu k datům.

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 SFTP pomocí uživatelského rozhraní

Pomocí následujícího postupu vytvořte propojenou službu SFTP v uživatelském rozhraní Azure Portal.

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

  2. Vyhledejte SFTP a vyberte konektor SFTP.

    Snímek obrazovky s konektorem SFTP

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

    Snímek obrazovky s konfigurací propojené služby SFTP

Podrobnosti o konfiguraci konektoru

Následující části obsahují podrobnosti o vlastnostech, které se používají k definování entit specifických pro SFTP.

Vlastnosti propojené služby

Propojená služba SFTP podporuje následující vlastnosti:

Vlastnost Popis Povinné
typ Vlastnost type musí být nastavená na Sftp. Yes
Hostitel Název nebo IP adresa serveru SFTP. Yes
port Port, na kterém server SFTP naslouchá.
Povolená hodnota je celé číslo a výchozí hodnota je 22.
No
skipHostKeyValidation Určete, jestli se má přeskočit ověřování klíče hostitele.
Povolené hodnoty jsou true a false (výchozí).
No
hostKeyFingerprint Zadejte otisk prstu klíče hostitele. Ano, pokud je vlastnost skipHostKeyValidation nastavená na hodnotu false.
authenticationType Zadejte typ ověřování.
Povolené hodnoty jsou Basic, SshPublicKey a MultiFactor. Další vlastnosti najdete v části Použití základního ověřování . Příklady JSON najdete v části Použití ověřování pomocí veřejného klíče SSH .
Yes
connectVia Prostředí Integration Runtime , které se má použít pro připojení k úložišti dat. Další informace najdete v části Požadavky . Pokud není prostředí Integration Runtime zadané, služba použije výchozí Integration Runtime Azure. No

Použití základního ověřování

Pokud chcete použít základní ověřování, nastavte vlastnost authenticationType na Hodnotu Basic a kromě obecných vlastností konektoru SFTP, které byly zavedeny v předchozí části, zadejte následující vlastnosti:

Vlastnost Popis Povinné
userName Uživatel, který má přístup k serveru SFTP. Yes
heslo Heslo uživatele (userName). Označte toto pole jako SecureString, abyste ho bezpečně uložili, nebo odkazujte na tajný kód uložený v trezoru klíčů Azure. Yes

Příklad:

{
    "name": "SftpLinkedService",
    "properties": {
        "type": "Sftp",
        "typeProperties": {
            "host": "<sftp server>",
            "port": 22,
            "skipHostKeyValidation": false,
            "hostKeyFingerPrint": "ssh-rsa 2048 xx:00:00:00:xx:00:x0:0x:0x:0x:0x:00:00:x0:x0:00",
            "authenticationType": "Basic",
            "userName": "<username>",
            "password": {
                "type": "SecureString",
                "value": "<password>"
            }
        },
        "connectVia": {
            "referenceName": "<name of integration runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Použití ověřování pomocí veřejného klíče SSH

Pokud chcete použít ověřování pomocí veřejného klíče SSH, nastavte vlastnost authenticationType na SshPublicKey a kromě obecných vlastností konektoru SFTP uvedených v poslední části zadejte následující vlastnosti:

Vlastnost Popis Povinné
userName Uživatel, který má přístup k serveru SFTP. Yes
privateKeyPath Zadejte absolutní cestu k souboru privátního klíče, ke kterému má prostředí Integration Runtime přístup. To platí jenom v případě, že je v connectVia zadaný místní typ prostředí Integration Runtime. Zadejte nebo privateKeyPathprivateKeyContent.
privateKeyContent Obsah privátního klíče s kódováním SSH v kódování Base64 Privátní klíč SSH by měl mít formát OpenSSH. Označte toto pole jako SecureString, abyste ho bezpečně uložili, nebo odkazujte na tajný kód uložený v trezoru klíčů Azure. Zadejte nebo privateKeyPathprivateKeyContent.
Heslo Pokud je soubor klíče nebo obsah klíče chráněný průchozích frází, zadejte heslo pro dešifrování privátního klíče. Označte toto pole jako SecureString, abyste ho bezpečně uložili, nebo odkazujte na tajný kód uložený v trezoru klíčů Azure. Ano, pokud je soubor privátního klíče nebo jeho obsah chráněný heslem.

Poznámka

Konektor SFTP podporuje klíč OpenSSH RSA/DSA. Ujistěte se, že obsah souboru klíče začíná na "-----BEGIN [RSA/DSA] PRIVATE KEY-----". Pokud je soubor privátního klíče soubor ve formátu PPK, použijte nástroj PuTTY k převodu z formátu PPK na formát OpenSSH.

Příklad 1: Ověřování SshPublicKey pomocí cesty k souboru privátního klíče

{
    "name": "SftpLinkedService",
    "properties": {
        "type": "Sftp",
        "typeProperties": {
            "host": "<sftp server>",
            "port": 22,
            "skipHostKeyValidation": true,
            "authenticationType": "SshPublicKey",
            "userName": "xxx",
            "privateKeyPath": "D:\\privatekey_openssh",
            "passPhrase": {
                "type": "SecureString",
                "value": "<pass phrase>"
            }
        },
        "connectVia": {
            "referenceName": "<name of integration runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Příklad 2: Ověřování SshPublicKey pomocí obsahu privátního klíče

{
    "name": "SftpLinkedService",
    "type": "Linkedservices",
    "properties": {
        "type": "Sftp",
        "typeProperties": {
            "host": "<sftp server>",
            "port": 22,
            "skipHostKeyValidation": true,
            "authenticationType": "SshPublicKey",
            "userName": "<username>",
            "privateKeyContent": {
                "type": "SecureString",
                "value": "<base64 string of the private key content>"
            },
            "passPhrase": {
                "type": "SecureString",
                "value": "<pass phrase>"
            }
        },
        "connectVia": {
            "referenceName": "<name of integration runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Použití vícefaktorového ověřování

Pokud chcete použít vícefaktorové ověřování, což je kombinace základního ověřování a ověřování veřejného klíče SSH, zadejte uživatelské jméno, heslo a informace o privátním klíči popsané v předchozích částech.

Příklad: vícefaktorové ověřování

{
    "name": "SftpLinkedService",
    "properties": {
        "type": "Sftp",
        "typeProperties": {
            "host": "<host>",
            "port": 22,
            "authenticationType": "MultiFactor",
            "userName": "<username>",
            "password": {
                "type": "SecureString",
                "value": "<password>"
            },
            "privateKeyContent": {
                "type": "SecureString",
                "value": "<base64 encoded private key content>"
            },
            "passPhrase": {
                "type": "SecureString",
                "value": "<passphrase for private key>"
            }
        },
        "connectVia": {
            "referenceName": "<name of integration runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Vlastnosti datové sady

Úplný seznam oddílů a vlastností, které jsou k dispozici 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ích v datové sadě založené na formátu jsou pro SFTP location podporované následující vlastnosti:

Vlastnost Popis Povinné
typ Vlastnost type v datové location sadě musí být nastavená na SftpLocation. Yes
folderPath Cesta ke složce. Pokud chcete k filtrování složky použít zástupný znak, přeskočte toto nastavení a zadejte cestu v nastavení zdroje aktivity. No
fileName Název souboru v zadané složcePath. Pokud chcete k filtrování souborů použít zástupný znak, přeskočte toto nastavení a zadejte název souboru v nastavení zdroje aktivity. No

Příklad:

{
    "name": "DelimitedTextDataset",
    "properties": {
        "type": "DelimitedText",
        "linkedServiceName": {
            "referenceName": "<SFTP linked service name>",
            "type": "LinkedServiceReference"
        },
        "schema": [ < physical schema, optional, auto retrieved during authoring > ],
        "typeProperties": {
            "location": {
                "type": "SftpLocation",
                "folderPath": "root/folder/subfolder"
            },
            "columnDelimiter": ",",
            "quoteChar": "\"",
            "firstRowAsHeader": true,
            "compressionCodec": "gzip"
        }
    }
}

Vlastnosti aktivity kopírování

Úplný seznam oddílů a vlastností, které jsou k dispozici pro definování aktivit, najdete v článku Kanály . Tato část obsahuje seznam vlastností, které zdroj SFTP podporuje.

SFTP jako zdroj

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.

Následující vlastnosti jsou podporovány pro SFTP v storeSettings nastaveních ve zdroji kopírování založeném na formátu:

Vlastnost Popis Povinné
typ Vlastnost type v části storeSettings musí být nastavena na SftpReadSettings. Yes
Vyhledání souborů, které chcete zkopírovat
MOŽNOST 1: statická cesta
Zkopírujte z cesty ke složce nebo souboru, která je zadaná v datové sadě. Pokud chcete zkopírovat všechny soubory ze složky, zadejte wildcardFileName navíc jako *.
MOŽNOST 2: zástupný znak
– zástupný znakFolderPath
Cesta ke složce se zástupnými znaky pro filtrování zdrojových složek
Povolené zástupné znaky jsou * (odpovídají nule nebo více znakům) a ? (odpovídají nule nebo jednomu znaku). Pokud má váš skutečný název složky zástupný znak nebo řídicí znak uvnitř, použijte ^ k řídicímu znaku.
Další příklady najdete v tématu Příklady filtrů složek a souborů.
No
MOŽNOST 2: zástupný znak
– zástupný znakFileName
Název souboru se zástupnými znaky v zadané složcePath/wildcardFolderPath pro filtrování zdrojových souborů.
Povolené zástupné znaky jsou * (odpovídají nule nebo více znakům) a ? (odpovídají nule nebo jednomu znaku). Pokud má váš skutečný název souboru zástupný znak nebo tento řídicí znak uvnitř, použijte ^ k řídicímu znaku. Další příklady najdete v tématu Příklady filtrů složek a souborů.
Yes
MOŽNOST 3: seznam souborů
– fileListPath
Určuje, že se má zkopírovat zadaná sada souborů. Nastavte ukazatel na textový soubor, který obsahuje seznam souborů, které chcete zkopírovat (jeden soubor na řádek s relativní cestou k cestě nakonfigurované v datové sadě).
Pokud použijete tuto možnost, nezadávejte název souboru v datové sadě. Další příklady najdete v tématu Příklady seznamu souborů.
No
Další nastavení
Rekurzivní Určuje, jestli se data čtou rekurzivně z podsložek, nebo jenom ze zadané složky. Pokud je rekurzivní nastavená na hodnotu true a jímka je souborové úložiště, 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 neplatí, pokud nakonfigurujete fileListPath.
No
deleteFilesAfterCompletion Určuje, jestli budou binární soubory odstraněny ze zdrojového úložiště po úspěšném přesunu do cílového úložiště. Odstranění souboru se provádí na jednotlivé soubory, takže když aktivita kopírování selže, uvidíte, že některé soubory už byly zkopírovány do cíle 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.
No
modifiedDatetimeStart Soubory jsou filtrovány na základě atributu Naposledy změněno.
Soubory jsou vybrány, pokud je čas jejich poslední změny větší nebo roven modifiedDatetimeStart a menší než modifiedDatetimeEnd. Čas se použije pro časové pásmo UTC ve formátu 2018-12-01T05:00:00Z.
Vlastnosti můžou mít hodnotu NULL, což znamená, že na datovou sadu se nepoužije žádný filtr atributů souboru. Pokud modifiedDatetimeStart má hodnotu datetime, ale modifiedDatetimeEnd má hodnotu NULL, znamená to, že jsou vybrány soubory, jejichž atribut poslední úpravy je větší než nebo roven hodnotě datetime. Pokud modifiedDatetimeEnd má hodnotu datetime, ale modifiedDatetimeStart má hodnotu NULL, znamená to, že jsou vybrány soubory, jejichž atribut poslední změny je menší než hodnota datetime.
Tato vlastnost neplatí, pokud nakonfigurujete fileListPath.
No
modifiedDatetimeEnd Platí to samé jako výše. No
enablePartitionDiscovery U souborů, které jsou rozdělené na oddíly, určete, jestli se mají oddíly analyzovat 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í zadaný,
– Pokud použijete cestu k souboru v datové sadě nebo v seznamu souborů ve zdroji, kořenová cesta oddílu je cesta nakonfigurovaná v datové sadě.
– Při použití filtru složky se zástupnými znakůmi sadou je kořenová cesta k 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 kromě sloupců uvnitř souborů další dva sloupce month s day hodnotami 08 a 27.
– Pokud není zadaná kořenová cesta k 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. Hodnotu zadejte pouze v případech, kdy chcete omezit souběžná připojení. No
disableChunking Při kopírování dat z protokolu SFTP se služba pokusí nejprve získat délku souboru, pak soubor rozdělí na několik částí a paralelně je přečte. Určete, jestli váš server SFTP podporuje získání délky souboru nebo čtení z určitého posunu.
Povolené hodnoty jsou false (výchozí) a true.
No

Příklad:

"activities":[
    {
        "name": "CopyFromSFTP",
        "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": "SftpReadSettings",
                    "recursive": true,
                    "wildcardFolderPath": "myfolder*A",
                    "wildcardFileName": "*.csv",
                    "disableChunking": false
                }
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

SFTP jako jímka

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

Následující vlastnosti jsou podporovány pro protokol SFTP v storeSettings nastavení v jímce kopírování založené na formátu:

Vlastnost Popis Povinné
typ Vlastnost type v části storeSettings musí být nastavena na SftpWriteSettings. Yes
copyBehavior Definuje chování kopírování, pokud zdrojem jsou soubory ze souborového úložiště dat.

Povolené hodnoty jsou následující:
- PreserveHierarchy (výchozí): Zachová hierarchii souborů v cílové složce. Relativní cesta zdrojového souboru ke zdrojové složce je shodná s relativní cestou cílového souboru k cílové složce.
- FlattenHierarchy: Všechny soubory ze zdrojové složky jsou na první úrovni cílové složky. Cílové soubory mají automaticky vygenerované názvy.
- MergeFiles: Sloučí všechny soubory ze zdrojové složky do jednoho souboru. Pokud je název souboru zadaný, je název sloučeného souboru zadaným názvem. V opačném případě se jedná o automaticky vygenerovaný název souboru.
No
maxConcurrentConnections Horní limit souběžných připojení vytvořených k úložišti dat během spuštění aktivity. Hodnotu zadejte pouze v případech, kdy chcete omezit souběžná připojení. No
useTempFileRename Určete, jestli se mají nahrávat do dočasných souborů a přejmenovávat je, nebo je zapisovat přímo do cílové složky nebo umístění souboru. Ve výchozím nastavení služba nejprve zapisuje do dočasných souborů a po dokončení nahrávání je přejmenuje. Tato posloupnost pomáhá (1) vyhnout se konfliktům, které by mohly vést k poškození souboru, pokud do stejného souboru zapisují jiné procesy, a (2) zajistit, aby během přenosu bylaéhohom souboru existoval původní verze souboru. Pokud server SFTP nepodporuje operaci přejmenování, zakažte tuto možnost a ujistěte se, že nemáte souběžný zápis do cílového souboru. Další informace najdete v tipu pro řešení potíží na konci této tabulky. No. Výchozí hodnota je true.
operationTimeout Doba čekání před každým požadavkem na zápis na server SFTP vyprší. Výchozí hodnota je 60 min (01:00:00). No

Tip

Pokud se při zápisu dat do protokolu SFTP zobrazí chyba UserErrorSftpPathNotFound, UserErrorSftpPermissionDenied nebo SftpOperationFail a uživatel SFTP, který používáte, má správná oprávnění, zkontrolujte, jestli váš server SFTP podporuje operaci přejmenování souborů. Pokud není, zakažte možnost Nahrát s dočasným souborem (useTempFileRename) a zkuste to znovu. Další informace o této vlastnosti najdete v předchozí tabulce. Pokud pro aktivita Copy používáte místní prostředí Integration Runtime, nezapomeňte použít verzi 4.6 nebo novější.

Příklad:

"activities":[
    {
        "name": "CopyToSFTP",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "<source type>"
            },
            "sink": {
                "type": "BinarySink",
                "storeSettings":{
                    "type": "SftpWriteSettings",
                    "copyBehavior": "PreserveHierarchy"
                }
            }
        }
    }
]

Příklady filtrů složek a souborů

Tato část popisuje chování, které je výsledkem použití filtrů zástupných znaků s cestami ke složkám a názvy souborů.

folderPath fileName Rekurzivní Struktura zdrojové složky a výsledek filtru (soubory se načtou tučně )
Folder* (prázdné, použijte výchozí) false (nepravda) Složka A
    File1.csv
    Soubor2.json
    Podsložka 1
        File3.csv
        Soubor4.json
        File5.csv
DalšífolderB
    File6.csv
Folder* (prázdné, použijte výchozí) true Složka A
    File1.csv
    Soubor2.json
    Podsložka 1
        File3.csv
        Soubor4.json
        File5.csv
DalšífolderB
    File6.csv
Folder* *.csv false (nepravda) Složka A
    File1.csv
    Soubor2.json
    Podsložka 1
        File3.csv
        Soubor4.json
        File5.csv
DalšífolderB
    File6.csv
Folder* *.csv true Složka A
    File1.csv
    Soubor2.json
    Podsložka 1
        File3.csv
        Soubor4.json
        File5.csv
DalšífolderB
    File6.csv

Příklady seznamu souborů

Tato tabulka popisuje chování, které je výsledkem použití cesty k seznamu souborů ve zdroji aktivita Copy. Předpokládá se, že máte následující strukturu zdrojových složek a chcete zkopírovat soubory tučného typu:

Ukázková zdrojová struktura Obsah v FileListToCopy.txt konfigurace Azure Data Factory
kořen
    Složka A
        File1.csv
        Soubor2.json
        Podsložka 1
            File3.csv
            Soubor4.json
            File5.csv
    Metadata
        FileListToCopy.txt
File1.csv
Podsložka1/File3.csv
Podsložka1/File5.csv
V datové sadě:
- Cesta ke složce: root/FolderA

Ve zdroji aktivita Copy:
– Cesta k seznamu souborů: root/Metadata/FileListToCopy.txt

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

Mapování vlastností toku dat

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

Nastavení specifická pro formát najdete v dokumentaci k danému formátu. Další informace najdete v tématech Transformace zdroje v mapování toku dat a Transformace jímky v mapování toku dat.

Poznámka

V mapování toku dat se teď nepodporuje ověřování klíče hostitele SSH.

Poznámka

Pokud chcete získat přístup k místnímu serveru SFTP, musíte použít Azure Data Factory nebo spravovaný pracovní prostor Synapse Virtual Network s využitím privátního koncového bodu. Podrobný postup najdete v tomto kurzu .

Transformace zdroje

Následující tabulka uvádí vlastnosti podporované zdrojem SFTP. Tyto vlastnosti můžete upravit na kartě Možnosti zdroje . Při použití vložené datové sady uvidíte další nastavení, která jsou shodná s vlastnostmi popsanými v části Vlastnosti datové sady .

Název Popis Povinné Povolené hodnoty Vlastnost skriptu toku dat
Cesta se zástupným znakem Použití vzoru se zástupným znakem dá ADF pokyn, aby cyklicky procházela každou odpovídající složku a soubor v jedné zdrojové transformaci. Jedná se o efektivní způsob zpracování více souborů v rámci jednoho toku. No String[] zástupné cesty
Kořenová cesta oddílu Pokud máte ve zdroji souborů rozdělené složky ve key=value formátu (například year=2019), můžete přiřadit nejvyšší úroveň této stromové struktury složek oddílů názvu sloupce v datovém streamu toku dat. No Řetězec partitionRootPath
Povolit, aby se nenašly žádné soubory Pokud je hodnota true, nedojde k chybě, pokud nejsou nalezeny žádné soubory. No true nebo false ignoreNoFilesFound
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. No true nebo false Filelist
Sloupec pro uložení názvu souboru Uložte název zdrojového souboru do sloupce v datech. Zadejte sem nový název sloupce pro uložení řetězce názvu souboru. No Řetězec rowUrlColumn
Po dokončení Po spuštění toku dat se zdrojovým souborem nic nedělejte, odstraňte zdrojový soubor nebo zdrojový soubor přesuňte. Cesty pro přesun jsou relativní. No Odstranit: true nebo false
Přesunout: ['<from>', '<to>']
purgeFiles
moveFiles
Filtrovat podle poslední změny Soubory, které zpracováváte, můžete filtrovat zadáním rozsahu dat, kdy byly naposledy změněny. Všechna data a časy jsou v UTC. No Timestamp Modifiedafter
Modifiedbefore

Příklad zdrojového skriptu SFTP

Pokud jako typ zdroje použijete datovou sadu SFTP, přidružený skript toku dat:

source(allowSchemaDrift: true,
	validateSchema: false,
	ignoreNoFilesFound: true,
	purgeFiles: true,
	fileList: true,
	modifiedAfter: (toTimestamp(1647388800000L)),
	modifiedBefore: (toTimestamp(1647561600000L)),
	partitionRootPath: 'partdata',
	wildcardPaths:['partdata/**/*.csv']) ~> SFTPSource

Transformace jímky

Následující tabulka uvádí vlastnosti podporované jímkou SFTP. Tyto vlastnosti můžete upravit na kartě Nastavení . Při použití vložené datové sady se zobrazí další nastavení, která jsou stejná jako vlastnosti popsané v části Vlastnosti datové sady .

Název Popis Povinné Povolené hodnoty Vlastnost skriptu toku dat
Vymazání složky Určuje, zda se cílová složka vymaže před zápisem dat. No true nebo false Zkrátit
Možnost názvu souboru Formát pojmenování zapsaných dat. Ve výchozím nastavení jeden soubor na oddíl ve formátu part-#####-tid-<guid>. No Vzor: Řetězec
Na oddíl: String[]
Pojmenujte soubor jako data sloupce: Řetězec
Pojmenujte složku jako data sloupce: Řetězec
Výstup do jednoho souboru: ['<fileName>']
filePattern
partitionFileNames
rowUrlColumn
rowFolderUrlColumn
partitionFileNames
Citace vše Určuje, zda se mají uzavřít všechny hodnoty v uvozovkách. No true nebo false citaceVšechny

Příklad skriptu jímky SFTP

Pokud jako typ jímky použijete datovou sadu SFTP, přidružený skript toku dat:

IncomingStream sink(allowSchemaDrift: true,
	validateSchema: false,
	filePattern:'loans[n].csv',
	truncate: true,
	skipDuplicateMapInputs: true,
	skipDuplicateMapOutputs: true) ~> SFTPSink

Vlastnosti aktivity vyhledávání

Informace o vlastnostech aktivity vyhledávání najdete v tématu Aktivita vyhledávání.

Vlastnosti aktivity GetMetadata

Informace o vlastnostech aktivity GetMetadata najdete v tématu Aktivita GetMetadata.

Odstranit vlastnosti aktivity

Informace o vlastnostech aktivity odstranění najdete v tématu Odstranění aktivity.

Starší modely

Poznámka

Následující modely jsou stále podporovány, stejně jako pro zpětnou kompatibilitu. Doporučujeme použít dříve probíraný nový model, protože uživatelské rozhraní pro vytváření obsahu přešlo na generování nového modelu.

Starší model datové sady

Vlastnost Popis Povinné
typ Vlastnost type datové sady musí být nastavená na FileShare. Yes
folderPath Cesta ke složce. Podporuje se filtr zástupných znaků. Povolené zástupné znaky jsou * (odpovídají nule nebo více znakům) a ? (odpovídají nule nebo jednomu znaku). Pokud má váš skutečný název souboru zástupný znak nebo tento řídicí znak uvnitř, použijte ^ k řídicímu znaku.

Příklady: rootfolder/podsložka/, další příklady najdete v tématu Příklady filtrů složek a souborů.
Yes
fileName Filtr názvů nebo zástupných znaků pro soubory v zadané složce "folderPath". Pokud nezadáte hodnotu pro tuto vlastnost, datová sada odkazuje na všechny soubory ve složce.

Pro filtr jsou * povolené zástupné znaky (odpovídají nule nebo více znakům) a ? (odpovídají nule nebo jednomu znaku).
– Příklad 1: "fileName": "*.csv"
– Příklad 2: "fileName": "???20180427.txt"
Pokud má váš skutečný název složky zástupný znak, nebo tento řídicí znak uvnitř, použijte ^ k řídicímu znaku.
No
modifiedDatetimeStart Soubory jsou filtrovány na základě atributu Naposledy změněno. Soubory jsou vybrány, pokud je jejich čas poslední změny větší nebo roven modifiedDatetimeStart a menší než modifiedDatetimeEnd. Čas se použije na časové pásmo UTC ve formátu 2018-12-01T05:00:00Z.

Pokud chcete filtrovat soubory z velkého počtu souborů, bude toto nastavení ovlivněno celkovým výkonem přesunu dat.

Vlastnosti můžou mít hodnotu NULL, což znamená, že na datovou sadu se nepoužije žádný filtr atributů souboru. Pokud modifiedDatetimeStart má hodnotu datetime, ale modifiedDatetimeEnd hodnotu NULL, znamená to, že jsou vybrány soubory, jejichž atribut poslední změny je větší nebo roven hodnotě datetime. Pokud modifiedDatetimeEnd má hodnotu datetime, ale modifiedDatetimeStart null, znamená to, že jsou vybrány soubory, jejichž atribut poslední změny je menší než hodnota datetime.
No
modifiedDatetimeEnd Soubory jsou filtrovány na základě atributu Naposledy změněno. Soubory jsou vybrány, pokud je jejich čas poslední změny větší nebo roven modifiedDatetimeStart a menší než modifiedDatetimeEnd. Čas se použije na časové pásmo UTC ve formátu 2018-12-01T05:00:00Z.

Pokud chcete filtrovat soubory z velkého počtu souborů, bude toto nastavení ovlivněno celkovým výkonem přesunu dat.

Vlastnosti můžou mít hodnotu NULL, což znamená, že na datovou sadu se nepoužije žádný filtr atributů souboru. Pokud modifiedDatetimeStart má hodnotu datetime, ale modifiedDatetimeEnd hodnotu NULL, znamená to, že jsou vybrány soubory, jejichž atribut poslední změny je větší nebo roven hodnotě datetime. Pokud modifiedDatetimeEnd má hodnotu datetime, ale modifiedDatetimeStart null, znamená to, že jsou vybrány soubory, jejichž atribut poslední změny je menší než hodnota datetime.
No
formát Pokud chcete kopírovat soubory tak, jak je mezi úložišti založenými na souborech (binární kopie), přeskočte oddíl formát ve vstupní i výstupní definici datové sady.

Pokud chcete analyzovat soubory s určitým formátem, jsou podporovány následující typy formátů souborů: TextFormat, JsonFormat, AvroFormat, OrcFormat a ParquetFormat. Nastavte vlastnost type pod formátem na jednu z těchto hodnot. Další informace najdete v částech Formát textu, Formát JSON, Formát Avro, Orc format a Parquet format .
Ne (pouze pro scénář binárního kopírování)
komprese Zadejte typ a úroveň komprese dat. Další informace najdete v tématu Podporované formáty souborů a kompresní kodeky.
Podporované typy jsou GZip, Deflate, BZip2 a ZipDeflate.
Podporované úrovně jsou Optimální a Nejrychlejší.
No

Tip

Pokud chcete zkopírovat všechny soubory ve složce, zadejte pouze folderPath .
Chcete-li zkopírovat jeden soubor se zadaným názvem, zadejte folderPath s částí složky a fileName s názvem souboru.
Pokud chcete zkopírovat podmnožinu souborů ve složce, zadejte folderPath s částí složky a fileName pomocí filtru se zástupnými cardy.

Poznámka

Pokud jste pro filtr souborů používali vlastnost fileFilter , je stále podporovaná tak, jak je, ale doporučujeme, abyste od této chvíle použili novou funkci filtru přidanou do fileName .

Příklad:

{
    "name": "SFTPDataset",
    "type": "Datasets",
    "properties": {
        "type": "FileShare",
        "linkedServiceName":{
            "referenceName": "<SFTP linked service name>",
            "type": "LinkedServiceReference"
        },
        "typeProperties": {
            "folderPath": "folder/subfolder/",
            "fileName": "*",
            "modifiedDatetimeStart": "2018-12-01T05:00:00Z",
            "modifiedDatetimeEnd": "2018-12-01T06:00:00Z",
            "format": {
                "type": "TextFormat",
                "columnDelimiter": ",",
                "rowDelimiter": "\n"
            },
            "compression": {
                "type": "GZip",
                "level": "Optimal"
            }
        }
    }
}

Starší aktivita Copy zdrojový model

Vlastnost Popis Povinné
typ Vlastnost type zdroje aktivita Copy musí být nastavená na FileSystemSource. Yes
Rekurzivní Určuje, zda se data čtou rekurzivně z podsložek nebo pouze ze zadané složky. Pokud je rekurzivní nastavená na hodnotu true a jímka je úložiště založené na souborech, nebudou se prázdné složky a podsložky v jímce kopírovat ani vytvářet.
Povolené hodnoty jsou true (výchozí) a false.
No
maxConcurrentConnections Horní limit souběžných připojení vytvořených k úložišti dat během spuštění aktivity Hodnotu zadejte pouze v případech, kdy chcete omezit souběžná připojení. No

Příklad:

"activities":[
    {
        "name": "CopyFromSFTP",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<SFTP input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "FileSystemSource",
                "recursive": true
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Další kroky

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