Sdílet prostřednictvím


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 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 pomocí aktivity kopírování kopírovat data ze serveru FTP (SFTP) a 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 je podporovaný pro následující funkce:

Podporované funkce IR
aktivita Copy (zdroj/jímka) (1) (2)
Mapování toku dat (zdroj/jímka) (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ě konektor SFTP podporuje:

  • Kopírování souborů ze serveru SFTP a na server SFTP pomocí veřejného klíče Basic, 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 kompresí kodeků.

Požadavky

Pokud se vaše úložiště dat nachází uvnitř místní sítě, virtuální sítě Azure nebo amazonového privátního cloudu, musíte nakonfigurovat místní prostředí Integration Runtime pro připojení k němu.

Pokud je vaše úložiště dat spravovanou cloudovou datovou službou, 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 prostředí Azure Integration Runtime.

K přístupu k místní síti bez nutnosti instalace a konfigurace místního prostředí Integration Runtime můžete také použít funkci Runtime integrace spravované virtuální sítě ve službě Azure Data Factory.

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í 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 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 konfigurace konektoru

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

Vlastnosti propojené služby

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

Vlastnost Popis Povinní účastníci
type Vlastnost typu musí být nastavena na Sftp. Ano
host Název nebo IP adresa serveru SFTP. Ano
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ěření klíče hostitele.
Povolené hodnoty jsou true a false (výchozí).
No
hostKeyFingerprint Zadejte otisk prstu klíče hostitele. Ano, pokud je hodnota 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í veřejného klíče SSH.
Ano
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í zadaný prostředí Integration Runtime, služba používá výchozí prostředí Azure Integration Runtime. No

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

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

Vlastnost Popis Povinní účastníci
userName Uživatel, který má přístup k serveru SFTP. Ano
Heslo Heslo pro uživatele (userName). Označte toto pole jako securestring, abyste ho mohli bezpečně uložit, nebo odkazovat na tajný klíč uložený v trezoru klíčů Azure. Ano

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í 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í účastníci
userName Uživatel, který má přístup k serveru SFTP. Ano
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 buď privateKeyPath nebo privateKeyContent.
privateKeyContent Obsah privátního klíče SSH s kódováním Base64 Privátní klíč SSH by měl být ve formátu OpenSSH. Označte toto pole jako securestring, abyste ho mohli bezpečně uložit, nebo odkazovat na tajný klíč uložený v trezoru klíčů Azure. Zadejte buď privateKeyPath nebo privateKeyContent.
přístupové heslo Zadejte předávací frázi nebo heslo k dešifrování privátního klíče, pokud je soubor klíče nebo obsah klíče chráněný heslem. Označte toto pole jako securestring, abyste ho mohli bezpečně uložit, nebo odkazovat na tajný klíč uložený v trezoru klíčů Azure. Ano, pokud je soubor privátního klíče nebo obsah klíče chráněný heslem.

Poznámka:

Konektor SFTP podporuje klíč RSA/DSA OpenSSH. 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 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 ověřování pomocí základních a veřejných klíčů 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.

Pro SFTP location v nastavení v datové sadě založené na formátu jsou podporovány následující vlastnosti:

Vlastnost Popis Povinní účastníci
type Vlastnost location typu v datové sadě musí být nastavena na SftpLocation. Ano
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é cestě folderPath. 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 Pipelines . Tato část obsahuje seznam vlastností podporovaných zdrojem SFTP.

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í ve zdroji kopírování založeném na formátu:

Vlastnost Popis Povinní účastníci
type Vlastnost typu v části storeSettings musí být nastavena na SftpReadSettings. Ano
Vyhledejte soubory, které chcete zkopírovat.
MOŽNOST 1: Statická cesta
Zkopírujte cestu ke složce nebo souboru, která je zadaná v datové sadě. Pokud chcete zkopírovat všechny soubory ze složky, dále zadejte wildcardFileName 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ů) a ? (odpovídá nule nebo jednomu znaku), použijte ^ k řídicímu znaku, pokud má skutečný 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 2: Zástupný znak
- wildcardFileName
Název souboru se zástupnými znaky pod zadanou složkouPath nebo zástupnými znakyFolderPath pro filtrování zdrojových souborů.
Povolené zástupné znaky jsou * (odpovídají nule nebo více znaků) a ? (odpovídá nule nebo jednomu znaku), použijte ^ k řídicímu znaku, pokud má váš skutečný 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 zadanou sadu souborů. Přejděte na textový soubor, který obsahuje seznam souborů, které chcete kopírovat (jeden soubor na řádek s relativní cestou 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 tématu Příklady seznamu souborů.
No
Další nastavení
rekurzivní Určuje, zda se data čtou rekurzivně z podsložek nebo pouze ze zadané složky. 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 jsou 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 není použit žádný filtr atributů souboru. Pokud modifiedDatetimeStart má hodnotu datetime, ale modifiedDatetimeEnd má 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 má hodnotu NULL, znamená to, že soubory, jejichž atribut poslední změny je menší než hodnota datetime, jsou vybrány.
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
disableChunking Při kopírování dat z SFTP se služba nejprve pokusí získat délku souboru, pak soubor rozdělí do více částí a přečte je paralelně. Určete, zda server SFTP podporuje získání délky souboru nebo hledání čtení z určitého posunu.
Povolené hodnoty jsou false (výchozí), 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 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í v jímce kopírování založené na formátu:

Vlastnost Popis Povinní účastníci
type Vlastnost typu v části storeSettings musí být nastavena na SftpWriteSettings. Ano
copyBehavior Definuje chování kopírování, pokud je zdrojem 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 s cílovou složkou.
- 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 zadaný název souboru, je zadaným názvem sloučený soubor. 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. Zadejte hodnotu pouze v případech, kdy chcete omezit souběžná připojení. No
useTempFileRename Určete, jestli se mají nahrát do dočasných souborů a přejmenovat je, nebo přímo zapisovat do cílové složky nebo umístění souboru. Ve výchozím nastavení služba nejprve zapíše dočasné soubory a po dokončení nahrávání je přejmenuje. Tato sekvence pomáhá (1) vyhnout se konfliktům, které můžou vést k poškození souboru, pokud máte jiné procesy zápisu do stejného souboru, a (2) zajistěte, aby během přenosu existovala 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. Ne. Výchozí hodnota je true.
operationTimeout Doba čekání před vypršením časového limitu každého požadavku na zápis na server SFTP vypršela. Výchozí hodnota je 60 min (01:00:00). No

Tip

Pokud se při zápisu dat do SFTP zobrazí chyba UserErrorSftpPathNotFound, UserErrorSftpPermissionDenied nebo SftpOperationFail při zápisu dat do SFTP a uživatel SFTP, který používáte , má správná oprávnění, zkontrolujte, jestli operace přejmenování souboru serveru SFTP funguje. Pokud tomu tak 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é má za následek použití filtrů se zástupnými znaky s cestami ke složkám a názvy souborů.

folderPath fileName rekurzivní Struktura zdrojové složky a výsledek filtru (soubory se načítají tučně )
Folder* (prázdné, použijte výchozí) false (nepravda) FolderA
    File1.csv
    File2.json
    Podsložka 1
        File3.csv
        File4.json
        File5.csv
AnotherFolderB
    File6.csv
Folder* (prázdné, použijte výchozí) true FolderA
    File1.csv
    File2.json
    Podsložka 1
        File3.csv
        File4.json
        File5.csv
AnotherFolderB
    File6.csv
Folder* *.csv false (nepravda) FolderA
    File1.csv
    File2.json
    Podsložka 1
        File3.csv
        File4.json
        File5.csv
AnotherFolderB
    File6.csv
Folder* *.csv true FolderA
    File1.csv
    File2.json
    Podsložka 1
        File3.csv
        File4.json
        File5.csv
AnotherFolderB
    File6.csv

Příklady seznamu souborů

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

Ukázková zdrojová struktura Obsah v FileListToCopy.txt Konfigurace služby Azure Data Factory
kořen
    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ě:
- 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 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 a zapisovat soubory z SFTP 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 a transformace jímky v mapování toku dat.

Poznámka:

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

Poznámka:

Pokud chcete získat přístup k místnímu serveru SFTP, musíte použít službu Azure Data Factory nebo spravovanou virtuální síť Synapse 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 se zobrazí další nastavení, která jsou stejná jako vlastnosti popsané v části vlastností datové sady.

Název Popis Povinní účastníci Povolené hodnoty Vlastnost skriptu toku dat
Cesta se zástupným znakem Použití vzoru se zástupným znakem dá ADF pokyn, aby prošel každou odpovídající složkou a souborem v jedné transformaci zdroje. Jedná se o efektivní způsob, jak zpracovat více souborů v rámci jednoho toku. No Řetězec[] Zástupné cardPaths
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. No String partitionRootPath
Povolit žádné nalezené soubory Pokud je pravda, chyba se nevyvolá, pokud se nenašly žá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 ve vašich datech. Sem zadejte nový název sloupce, do které se uloží řetězec názvu souboru. No String rowUrlColumn
Po dokončení Po spuštění toku dat vyberte, jestli nechcete nic dělat se zdrojovým souborem, odstraňte zdrojový soubor nebo přesuňte zdrojový soubor. Cesty pro přesunutí jsou relativní. No Odstranit: true nebo false
Pohnout: ['<from>', '<to>']
purgeFiles
moveFiles
Filtrovat podle poslední změny Můžete filtrovat soubory, které zpracováváte, zadáním rozsahu dat, kdy byly naposledy změněny. Všechna data a časy jsou ve standardu UTC. No Časové razítko 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 vlastností datové sady.

Název Popis Povinní účastníci 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 truncate
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[]
Název souboru jako dat sloupců: Řetězec
Name folder as column data: String
Výstup do jednoho souboru: ['<fileName>']
filePattern
partitionFileNames
rowUrlColumn
rowFolderUrlColumn
partitionFileNames
Citace vše Určuje, zda mají být všechny hodnoty uzavřeny v uvozovkách. No true nebo false QuoteAll

Příklad skriptu jímky SFTP

Při použití datové sady SFTP jako typu jímky je 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í naleznete v tématu Aktivita vyhledávání.

Vlastnosti aktivity GetMetadata

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

Odstranění vlastností aktivity

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

Starší modely

Poznámka:

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

Starší model datové sady

Vlastnost Popis Povinní účastníci
type Vlastnost typu datové sady musí být nastavena na FileShare. Ano
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ídá nule nebo jednomu znaku), použijte ^ k řídicímu znaku, pokud má váš skutečný název souboru zástupný znak nebo tento řídicí znak uvnitř.

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

Pro filtrování jsou * povolené zástupné znaky (odpovídají nule nebo více znaků) a ? (odpovídá nule nebo jednomu znaku).
– Příklad 1: "fileName": "*.csv"
– Příklad 2: "fileName": "???20180427.txt"
Slouží ^ k řídicímu znaku, pokud má skutečný název složky zástupný znak nebo tento řídicí znak uvnitř.
No
modifiedDatetimeStart Soubory se filtrují 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 u časového pásma UTC ve formátu 2018-12-01T05:00:00Z.

Celkový výkon přesunu dat bude ovlivněn povolením tohoto nastavení, pokud chcete filtrovat soubory z velkého počtu souborů.

Vlastnosti můžou mít hodnotu NULL, což znamená, že u datové sady není použit žádný filtr atributů souboru. Pokud modifiedDatetimeStart má hodnotu datetime, ale modifiedDatetimeEnd má 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 má hodnotu NULL, znamená to, že soubory, jejichž atribut poslední změny je menší než hodnota datetime, jsou vybrány.
No
modifiedDatetimeEnd Soubory se filtrují 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 u časového pásma UTC ve formátu 2018-12-01T05:00:00Z.

Celkový výkon přesunu dat bude ovlivněn povolením tohoto nastavení, pokud chcete filtrovat soubory z velkého počtu souborů.

Vlastnosti můžou mít hodnotu NULL, což znamená, že u datové sady není použit žádný filtr atributů souboru. Pokud modifiedDatetimeStart má hodnotu datetime, ale modifiedDatetimeEnd má 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 má hodnotu NULL, znamená to, že soubory, jejichž atribut poslední změny je menší než hodnota datetime, jsou vybrány.
No
format Pokud chcete kopírovat soubory tak, jak je to mezi úložišti založenými na souborech (binární kopie), přeskočte oddíl formátu v definicích vstupní i výstupní datové sady.

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

Tip

Chcete-li kopírovat všechny soubory ve složce, zadejte pouze folderPath .
Pokud chcete 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 zástupných znaků.

Poznámka:

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

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ší verze zdrojového modelu aktivita Copy

Vlastnost Popis Povinní účastníci
type Vlastnost typu zdroje aktivita Copy musí být nastavena na FileSystemSource. Ano
rekurzivní Určuje, zda se data čtou rekurzivně z podsložek nebo pouze ze zadané složky. Pokud je rekurzivní nastavena na hodnotu true a jímka je úložiště založené na souborech, prázdné složky a podsložky se v jímce nezkopírují ani nevytvoří.
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. Zadejte hodnotu 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>"
            }
        }
    }
]

Seznam úložišť dat podporovaných jako zdroje a jímky aktivita Copy najdete v podporovaných úložištích dat.