Dela via


Kopiera data från eller till Azure Files med hjälp av Azure Data Factory

GÄLLER FÖR: Azure Data Factory Azure Synapse Analytics

Tip

Prova Data Factory i Microsoft Fabric, en allt-i-ett-analyslösning för företag. Microsoft Fabric omfattar allt från dataflytt till datavetenskap, realtidsanalys, business intelligence och rapportering. Lär dig hur du kan starta en ny provperiod gratis!

Den här artikeln beskriver hur du kopierar data till och från Azure Files. Mer information om Azure Data Factory finns i introduktionsartikeln.

Funktioner som stöds

Den här Azure Files-anslutningsappen stöds för följande funktioner:

Funktioner som stöds IR Hanterad privat slutpunkt
Kopieringsaktivitet (källa/mottagare) (1) (2) √ Exkludera lagringskonto V1
Sökaktivitet (1) (2) √ Exkludera lagringskonto V1
GetMetadata-aktivitet (1) (2) √ Exkludera lagringskonto V1
Ta bort aktivitet (1) (2) √ Exkludera lagringskonto V1

(1) Azure Integration Runtime (2) Lokalt installerad integrationskörning

Du kan kopiera data från Azure Files till valfritt mottagardatalager som stöds eller kopiera data från alla källdatalager som stöds till Azure Files. En lista över datalager som kopieringsaktivitet stöder som källor och mottagare finns i Datalager och format som stöds.

Mer specifikt stöder den här Azure Files-anslutningsappen:

  • Kopiera filer med hjälp av sas-autentiseringar (account key eller service shared access signature).
  • Kopiera filer som de är eller parsa/generera filer med de filformat och komprimeringskodex som stöds.

Komma igång

Om du vill utföra kopieringsaktiviteten med en pipeline kan du använda något av följande verktyg eller SDK:er:

Skapa en länkad tjänst till Azure Files med hjälp av användargränssnittet

Använd följande steg för att skapa en länkad tjänst till Azure Files i Användargränssnittet för Azure-portalen.

  1. Bläddra till fliken Hantera i Din Azure Data Factory- eller Synapse-arbetsyta och välj Länkade tjänster och klicka sedan på Ny:

  2. Sök efter filen och välj anslutningsappen för Azure Files med etiketten Azure File Storage.

    Skärmbild av Azure File Storage-anslutningsappen.

  3. Konfigurera tjänstinformationen, testa anslutningen och skapa den nya länkade tjänsten.

    Skärmbild av konfigurationen av länkad tjänst för en Azure File Storage.

Detaljer om anslutningskonfiguration

Följande avsnitt innehåller information om egenskaper som används för att definiera entiteter som är specifika för Azure Files.

Länkade tjänstegenskaper

Azure Files-anslutningsappen stöder följande autentiseringstyper. Mer information finns i motsvarande avsnitt.

Note

Om du använder en länkad Azure Files-tjänst med en äldre modell, där användargränssnittet för ADF-redigering visas som "Grundläggande autentisering", stöds den fortfarande as-is, medan du rekommenderas att använda den nya modellen framöver. Den äldre modellen överför data från/till lagring via Server Message Block (SMB), medan den nya modellen använder lagrings-SDK som har bättre dataflöde. Om du vill uppgradera kan du redigera den länkade tjänsten för att växla autentiseringsmetoden till "Kontonyckel" eller "SAS-URI". ingen ändring krävs för datauppsättningen eller kopieringsaktiviteten.

Kontonyckelautentisering

Data Factory stöder följande egenskaper för Azure Files-kontonyckelautentisering:

Property Description Required
type Typegenskapen måste anges till: AzureFileStorage. Yes
connectionString Ange den information som behövs för att ansluta till Azure Files.
Du kan också placera kontonyckeln i Azure Key Vault och hämta konfigurationen accountKey från anslutningssträngen. Mer information finns i följande exempel och artikeln Lagra autentiseringsuppgifter i Azure Key Vault .
Yes
fileShare Ange filresursen. Yes
snapshot Ange datumet för ögonblicksbilden av fildelningen om du vill kopiera från en ögonblicksbild. No
connectVia Integration Runtime som ska användas för att ansluta till datalagret. Du kan använda Azure Integration Runtime eller lokalt installerad integrationskörning (om ditt datalager finns i ett privat nätverk). Om den inte anges använder den standardkörningen för Azure-integrering. No

Example:

{
    "name": "AzureFileStorageLinkedService",
    "properties": {
        "type": "AzureFileStorage",
        "typeProperties": {
            "connectionString": "DefaultEndpointsProtocol=https;AccountName=<accountName>;AccountKey=<accountKey>;EndpointSuffix=core.windows.net;",
            "fileShare": "<file share name>"
        },
        "connectVia": {
          "referenceName": "<name of Integration Runtime>",
          "type": "IntegrationRuntimeReference"
        }
    }
}

Exempel: lagra kontonyckeln i Azure Key Vault

{
    "name": "AzureFileStorageLinkedService",
    "properties": {
        "type": "AzureFileStorage",
        "typeProperties": {
            "connectionString": "DefaultEndpointsProtocol=https;AccountName=<accountname>;",
            "fileShare": "<file share name>",
            "accountKey": { 
                "type": "AzureKeyVaultSecret", 
                "store": { 
                    "referenceName": "<Azure Key Vault linked service name>", 
                    "type": "LinkedServiceReference" 
                }, 
                "secretName": "<secretName>" 
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }            
    }
}

Signaturautentisering för delad åtkomst

En signatur för delad åtkomst ger delegerad åtkomst till resurser i ditt lagringskonto. Du kan använda en signatur för delad åtkomst för att bevilja en klient begränsad behörighet till objekt i ditt lagringskonto under en angiven tid. Mer information om signaturer för delad åtkomst finns i Signaturer för delad åtkomst: Förstå signaturmodellen för delad åtkomst.

Tjänsten stöder följande egenskaper för användning av signaturautentisering för delad åtkomst:

Property Description Required
type Typegenskapen måste anges till: AzureFileStorage. Yes
sasUri Ange URI:n för signatur för delad åtkomst till resurserna.
Markera det här fältet som SecureString för att lagra det på ett säkert sätt. Du kan också placera SAS-token i Azure Key Vault för att använda automatisk rotation och ta bort tokendelen. Mer information finns i följande exempel och Lagra autentiseringsuppgifter i Azure Key Vault.
Yes
fileShare Ange filresursen. Yes
snapshot Ange datumet för ögonblicksbilden av fildelningen om du vill kopiera från en ögonblicksbild. No
connectVia Integration Runtime som ska användas för att ansluta till datalagret. Du kan använda Azure Integration Runtime eller lokalt installerad integrationskörning (om ditt datalager finns i ett privat nätverk). Om den inte anges använder den standardkörningen för Azure-integrering. No

Example:

{
    "name": "AzureFileStorageLinkedService",
    "properties": {
        "type": "AzureFileStorage",
        "typeProperties": {
            "sasUri": {
                "type": "SecureString",
                "value": "<SAS URI of the resource e.g. https://<accountname>.file.core.windows.net/?sv=<storage version>&st=<start time>&se=<expire time>&sr=<resource>&sp=<permissions>&sip=<ip range>&spr=<protocol>&sig=<signature>>"
            },
            "fileShare": "<file share name>",
            "snapshot": "<snapshot version>"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Exempel: lagra SAS-token i Azure Key Vault

{
    "name": "AzureFileStorageLinkedService",
    "properties": {
        "type": "AzureFileStorage",
        "typeProperties": {
            "sasUri": {
                "type": "SecureString",
                "value": "<SAS URI of the Azure Storage resource without token e.g. https://<accountname>.file.core.windows.net/>"
            },
            "sasToken": { 
                "type": "AzureKeyVaultSecret", 
                "store": { 
                    "referenceName": "<Azure Key Vault linked service name>", 
                    "type": "LinkedServiceReference" 
                }, 
                "secretName": "<secretName with value of SAS token e.g. ?sv=<storage version>&st=<start time>&se=<expire time>&sr=<resource>&sp=<permissions>&sip=<ip range>&spr=<protocol>&sig=<signature>>" 
            },
            "fileShare": "<file share name>"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Systemtilldelad autentisering av hanterad identitet

En datafabrik eller Synapse-pipeline kan associeras med en systemtilldelad hanterad identitet för Azure-resurser, som representerar resursen för autentisering till andra Azure-tjänster. Du kan använda den här systemtilldelade hanterade identiteten för Azure Files-autentisering. Mer information om hanterade identiteter för Azure-resurser finns i Hanterade identiteter för Azure-resurser.

Följ dessa steg om du vill använda systemtilldelad hanterad identitetsautentisering:

  1. Hämta systemtilldelad hanterad identitetsinformation genom att kopiera värdet för det systemtilldelade objekt-ID för hanterad identitet som genererats tillsammans med din fabrik eller Synapse-arbetsyta.

  2. Ge den hanterade identiteten åtkomstbehörighet i Azure Files. Mer information om rollerna finns i den här artikeln.

    • Som källa i Åtkomstkontroll (IAM) beviljar du minst rollen Storage File Data Privileged Reader .
    • I Åtkomstkontroll (IAM)som mottagare beviljar du minst rollen Storage File Data Privileged Contributor.

Dessa egenskaper stöds för en länkad Azure Files-tjänst:

Property Description Required
type Typegenskapen måste anges till AzureFileStorage. Yes
serviceEndpoint Ange Azure Files-tjänstslutpunkten med mönstret https://<accountName>.file.core.windows.net/. Yes
fileShare Ange filresursen. Yes
snapshot Ange datumet för ögonblicksbilden av fildelningen om du vill kopiera från en ögonblicksbild. No
connectVia Integration Runtime som ska användas för att ansluta till datalagret. Du kan använda Azure Integration Runtime. Om den inte anges använder den standardkörningen för Azure-integrering. No

Note

Systemtilldelad hanterad identitetsautentisering stöds endast av Azure Integration Runtime.

Example:

{
    "name": "AzureFileStorageLinkedService",
    "properties": {
        "type": "AzureFileStorage",
        "typeProperties": {            
            "serviceEndpoint": "https://<accountName>.file.core.windows.net/",
            "fileShare": "<file share name>",
            "snapshot": "<snapshot version>"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Användartilldelad hanterad identitetsautentisering

En datafabrik kan tilldelas en eller flera användartilldelade hanterade identiteter. Du kan använda den här användartilldelade hanterade identiteten för Azure Files-autentisering, som gör det möjligt att komma åt och kopiera data från eller till Azure Files. Mer information om hanterade identiteter för Azure-resurser finns i Hanterade identiteter för Azure-resurser.

Följ dessa steg om du vill använda användartilldelad hanterad identitetsautentisering:

  1. Skapa en eller flera användartilldelade hanterade identiteter och bevilja behörighet i Azure Files. Mer information om rollerna finns i den här artikeln.

    • Som källa i Åtkomstkontroll (IAM) beviljar du minst rollen Storage File Data Privileged Reader .
    • I Åtkomstkontroll (IAM)som mottagare beviljar du minst rollen Storage File Data Privileged Contributor.
  2. Tilldela en eller flera användartilldelade hanterade identiteter till din datafabrik och skapa autentiseringsuppgifter för varje användartilldelad hanterad identitet.

Dessa egenskaper stöds för en länkad Azure Files-tjänst:

Property Description Required
type Typegenskapen måste anges till AzureFileStorage. Yes
serviceEndpoint Ange Azure Files-tjänstslutpunkten med mönstret https://<accountName>.file.core.windows.net/. Yes
credentials Ange den användartilldelade hanterade identiteten som autentiseringsobjekt. Yes
fileShare Ange filresursen. Yes
snapshot Ange datumet för ögonblicksbilden av fildelningen om du vill kopiera från en ögonblicksbild. No
connectVia Integration Runtime som ska användas för att ansluta till datalagret. Du kan använda Azure Integration Runtime eller lokalt installerad integrationskörning (om ditt datalager finns i ett privat nätverk). Om den inte anges använder den standardkörningen för Azure-integrering. No

Example:

{
    "name": "AzureFileStorageLinkedService",
    "properties": {
        "type": "AzureFileStorage",
        "typeProperties": {            
            "serviceEndpoint": "https://<accountName>.file.core.windows.net/",
            "credential": {
                "referenceName": "credential1",
                "type": "CredentialReference"
            },
            "fileShare": "<file share name>",
            "snapshot": "<snapshot version>"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Äldre modell

Property Description Required
type Typegenskapen måste anges till: AzureFileStorage. Yes
host Anger Azure Files-slutpunkten som:
-Använda användargränssnitt: ange \\<storage name>.file.core.windows.net\<file service name>
– Med JSON: "host": "\\\\<storage name>.file.core.windows.net\\<file service name>".
Yes
userid Ange användaren som ska komma åt Azure Files som:
-Använda användargränssnitt: ange AZURE\<storage name>
-Använda JSON: "userid": "AZURE\\<storage name>".
Yes
password Ange lagringsåtkomstnyckeln. Markera det här fältet som en SecureString för att lagra det på ett säkert sätt i Data Factory eller referera till en hemlighet som lagras i Azure Key Vault. Yes
connectVia Integration Runtime som ska användas för att ansluta till datalagret. Du kan använda Azure Integration Runtime eller lokalt installerad integrationskörning (om ditt datalager finns i ett privat nätverk). Om den inte anges använder den standardkörningen för Azure-integrering. Nej för källa, Ja för mottagare

Example:

{
    "name": "AzureFileStorageLinkedService",
    "properties": {
        "type": "AzureFileStorage",
        "typeProperties": {
            "host": "\\\\<storage name>.file.core.windows.net\\<file service name>",
            "userid": "AZURE\\<storage name>",
            "password": {
                "type": "SecureString",
                "value": "<storage access key>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Egenskaper för dataset

En fullständig lista över avsnitt och egenskaper som är tillgängliga för att definiera datauppsättningar finns i artikeln Datauppsättningar .

Azure Data Factory stöder följande filformat. Se varje artikel för formatbaserade inställningar.

Följande egenskaper stöds för Azure Files under location inställningar i formatbaserad datauppsättning:

Property Description Required
type Typegenskapen under location i datamängden måste anges till AzureFileStorageLocation. Yes
folderPath Sökvägen till mappen. Om du vill använda jokertecken för att filtrera mappen hoppar du över den här inställningen och anger i inställningarna för aktivitetskällan. No
fileName Filnamnet i den angivna mappvägen. Om du vill använda jokertecken för att filtrera filer hoppar du över den här inställningen och anger i inställningarna för aktivitetskällan. No

Example:

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

Kopiera egenskaper för aktivitet

En fullständig lista över avsnitt och egenskaper som är tillgängliga för att definiera aktiviteter finns i artikeln Pipelines . Det här avsnittet innehåller en lista över egenskaper som stöds av Azure Files-källa och mottagare.

Azure Files som källa

Azure Data Factory stöder följande filformat. Se varje artikel för formatbaserade inställningar.

Följande egenskaper stöds för Azure Files under storeSettings inställningar i formatbaserad kopieringskälla:

Property Description Required
type Typegenskapen under storeSettings måste anges till AzureFileStorageReadSettings. Yes
Leta upp filerna som ska kopieras:
ALTERNATIV 1: statisk sökväg
Kopiera från den angivna mapp-/filsökvägen som anges i datauppsättningen. Om du vill kopiera alla filer från en mapp anger du wildcardFileName dessutom som *.
ALTERNATIV 2: filprefix
-prefix
Prefix för filnamnet i den specificerade fildelningen som konfigurerats i en datauppsättning för att filtrera källfiler. Filer med namn som börjar med fileshare_in_linked_service/this_prefix är markerade. Den använder tjänstesidefiltret för Azure Files, vilket ger bättre prestanda än ett jokerteckenfilter. Den här funktionen stöds inte när du använder en äldre länkad tjänstmodell. No
ALTERNATIV 3: jokertecken
- jokerteckenFolderPath
Mappsökvägen med wildcard-tecken för att kunna filtrera källmappar.
Tillåtna jokertecken är: * (matchar noll eller fler tecken) och ? (matchar noll eller ett enda tecken); använd ^ för att fly om ditt faktiska mappnamn har jokertecken eller detta escape-tecken inuti.
Se fler exempel i exempel på mapp- och filfilter.
No
ALTERNATIV 3: jokertecken
- jokerteckenfilnamn
Filnamnet med jokertecken under den angivna mappenPath/wildcardFolderPath för att filtrera källfiler.
Tillåtna jokertecken är: * (matchar noll eller fler tecken) och ? (matchar noll eller enstaka tecken); använd ^ för att fly om ditt faktiska filnamn har jokertecken eller detta escape-tecken inuti. Se fler exempel i exempel på mapp- och filfilter.
Yes
ALTERNATIV 4: en lista över filer
– fileListPath
Anger att en angiven filuppsättning ska kopieras. Peka på en textfil som innehåller en lista över filer som du vill kopiera, en fil per rad, vilket är den relativa sökvägen till sökvägen som konfigurerats i datauppsättningen.
När du använder det här alternativet ska du inte ange filnamn i datauppsättningen. Se fler exempel i fillisteexempel.
No
Ytterligare inställningar:
recursive Anger om data läse rekursivt från undermapparna eller endast från den angivna mappen. När rekursiv är inställd på true och målpunkt är ett filbaserat lager, kopieras eller skapas inte en tom mapp eller undermapp vid målpunkt.
Tillåtna värden är sanna (standard) och falska.
Den här egenskapen gäller inte när du konfigurerar fileListPath.
No
deleteFilesAfterCompletion Anger om de binära filerna kommer att tas bort från källarkivet när de har flyttats till målarkivet. Filborttagningen är per fil, så när kopieringsaktiviteten misslyckas ser du att vissa filer redan har kopierats till målet och tagits bort från källan, medan andra fortfarande finns kvar i källarkivet.
Den här egenskapen är endast giltig i scenariot med kopiering av binära filer. Standardvärdet: false.
No
modifiedDatetimeStart Filfilter baserat på attributet: Senast ändrad.
Filerna väljs om deras senaste ändringstid är större än eller lika med modifiedDatetimeStart och mindre än modifiedDatetimeEnd. Tiden tillämpas på UTC-tidszonen i formatet "2018-12-01T05:00:00Z".
Egenskaperna kan vara NULL, vilket innebär att inget filattributfilter tillämpas på datamängden. När modifiedDatetimeStart har datetime-värde men modifiedDatetimeEnd är NULL innebär det att de filer vars senast ändrade attribut är större än eller lika med datetime-värdet kommer att väljas. När modifiedDatetimeEnd har datetime-värde men modifiedDatetimeStart är NULL innebär det att de filer vars senast ändrade attribut är mindre än datetime-värdet väljs.
Den här egenskapen gäller inte när du konfigurerar fileListPath.
No
modifiedDatetimeEnd Samma som ovan. No
enablePartitionDiscovery För filer som är partitionerade anger du om partitionerna ska parsas från filsökvägen och lägga till dem som ytterligare källkolumner.
Tillåtna värden är false (standard) och true.
No
partitionRootPath När partitionsupptäckning är aktiverad anger du den absoluta rotsökvägen för att tolka partitionerade mappar som datakolumner.

Om det inte anges, som standardinställning,
– När du använder filsökvägen i datauppsättningen eller listan över filer på källan är partitionsrotsökvägen den sökväg som konfigurerats i datauppsättningen.
– När du använder mappfilter för jokertecken är partitionsrotsökvägen undersökvägen före det första jokertecknet.

Anta till exempel att du konfigurerar sökvägen i datauppsättningen som "root/folder/year=2020/month=08/day=27":
– Om du anger partitionsrotsökväg som "root/folder/year=2020" genererar kopieringsaktiviteten ytterligare två kolumner month och day med värdet "08" respektive "27", utöver kolumnerna i filerna.
– Om partitionsrotsökvägen inte har angetts genereras ingen extra kolumn.
No
maxConcurrentConnections Den övre gränsen för samtidiga anslutningar som upprättats till datalagret under aktiviteten. Ange endast ett värde när du vill begränsa samtidiga anslutningar. No

Example:

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

Azure Files som lagringsdestination

Azure Data Factory stöder följande filformat. Se varje artikel för formatbaserade inställningar.

Följande egenskaper stöds för Azure Files under storeSettings inställningar i formatbaserad kopieringsmottagare:

Property Description Required
type Typegenskapen under storeSettings måste anges till AzureFileStorageWriteSettings. Yes
copyBehavior Definierar kopieringsbeteendet när källan är filer från ett filbaserat datalager.

Tillåtna värden är:
– PreserveHierarchy (standard): Bevarar filhierarkin i målmappen. Den relativa sökvägen för källfilen till källmappen är identisk med den relativa sökvägen för målfilen till målmappen.
– FlattenHierarchy: Alla filer från källmappen finns på den första nivån i målmappen. Målfilerna har automatiskt genererade namn.
– MergeFiles: Sammanfogar alla filer från källmappen till en fil. Om filnamnet anges är det kopplade filnamnet det angivna namnet. Annars är det ett automatiskt genererat filnamn.
No
maxConcurrentConnections Den övre gränsen för samtidiga anslutningar som upprättats till datalagret under aktiviteten. Ange endast ett värde när du vill begränsa samtidiga anslutningar. No

Example:

"activities":[
    {
        "name": "CopyToAzureFileStorage",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<Parquet output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "<source type>"
            },
            "sink": {
                "type": "ParquetSink",
                "storeSettings":{
                    "type": "AzureFileStorageWriteSettings",
                    "copyBehavior": "PreserveHierarchy"
                }
            }
        }
    }
]

Note

Du kan kopiera upp till 4 MB data till mottagaren när du använder en systemtilldelad eller användartilldelad hanterad identitet som autentiseringstyp.

Exempel på mapp- och filfilter

I det här avsnittet beskrivs det resulterande resultatet för mappsökvägen och filnamnet med hjälp av jokerteckenfilter.

folderPath fileName recursive Källmappens struktur och filterresultat (filer i fetstil hämtas)
Folder* (tom, använd standard) false FolderA
     File1.csv
     File2.json
    Subfolder1
        File3.csv
        File4.json
        File5.csv
AnotherFolderB
    File6.csv
Folder* (tom, använd standard) true FolderA
     File1.csv
     File2.json
    Subfolder1
         File3.csv
         File4.json
         File5.csv
AnotherFolderB
    File6.csv
Folder* *.csv false FolderA
     File1.csv
    File2.json
    Subfolder1
        File3.csv
        File4.json
        File5.csv
AnotherFolderB
    File6.csv
Folder* *.csv true FolderA
     File1.csv
    File2.json
    Subfolder1
         File3.csv
        File4.json
         File5.csv
AnotherFolderB
    File6.csv

Exempel på fillista

I det här avsnittet beskrivs beteendet som uppstår när sökvägen till fillistan används som källa i en kopieringsaktivitet.

Förutsatt att du har följande källmappstruktur och vill kopiera filerna i fetstil:

Exempel på källstruktur Innehåll från FileListToCopy.txt Configuration
root
    FolderA
         File1.csv
        File2.json
        Subfolder1
             File3.csv
            File4.json
             File5.csv
    Metadata
        FileListToCopy.txt
File1.csv
Subfolder1/File3.csv
Subfolder1/File5.csv
I datauppsättning:
– Mappsökväg: root/FolderA

I kopieringsaktivitetskällan:
– Sökväg till fillista: root/Metadata/FileListToCopy.txt

Sökvägen till fillistan pekar på en textfil i samma datalager som innehåller en lista över filer som du vill kopiera, en fil per rad med den relativa sökvägen till sökvägen som konfigurerats i datauppsättningen.

rekursiva och copyBehavior-exempel

I det här avsnittet beskrivs det resulterande beteendet för kopieringsåtgärden för olika kombinationer av rekursiva och copyBehavior-värden.

recursive copyBehavior Struktur för källmapp Resulterande mål
true preserveHierarchy Folder1
    File1
    File2
    Subfolder1
        File3
        File4
        File5
Målmappen Folder1 skapas med samma struktur som källan:

Folder1
    File1
    File2
    Subfolder1
        File3
        File4
        File5.
true flattenHierarchy Folder1
    File1
    File2
    Subfolder1
        File3
        File4
        File5
Målmapp1 skapas med följande struktur:

Folder1
    autogenererat namn för File1
    autogenererat namn för File2
    autogenererat namn för File3
    autogenererat namn för File4
    autogenererat namn för File5
true mergeFiles Folder1
    File1
    File2
    Subfolder1
        File3
        File4
        File5
Målmapp1 skapas med följande struktur:

Folder1
    File1 + File2 + File3 + File4 + File 5-innehåll sammanfogas i en fil med automatiskt genererat filnamn
false preserveHierarchy Folder1
    File1
    File2
    Subfolder1
        File3
        File4
        File5
Målmappen Mapp1 skapas med följande struktur

Folder1
    File1
    File2

Undermapp1 med File3, File4 och File5 hämtas inte.
false flattenHierarchy Folder1
    File1
    File2
    Subfolder1
        File3
        File4
        File5
Målmappen Mapp1 skapas med följande struktur

Folder1
    autogenererat namn för File1
    autogenererat namn för File2

Undermapp1 med File3, File4 och File5 hämtas inte.
false mergeFiles Folder1
    File1
    File2
    Subfolder1
        File3
        File4
        File5
Målmappen Mapp1 skapas med följande struktur

Folder1
    Fil1 + Fil2-innehåll sammanfogas i en fil med automatiskt genererat filnamn. autogenererat namn för File1

Undermapp1 med File3, File4 och File5 hämtas inte.

Uppslagsaktivitetens egenskaper

Mer information om egenskaperna finns i Sökningsaktivitet.

Egenskaper för GetMetadata-aktivitet

Mer information om egenskaperna finns i GetMetadata-aktivitet

Ta bort aktivitetsegenskaper

Information om egenskaperna finns i Ta bort aktivitet

Äldre modeller

Note

Följande modeller stöds fortfarande som de är för bakåtkompatibilitet. Du rekommenderas att använda den nya modellen som nämns i ovanstående avsnitt framöver, och redigeringsgränssnittet har växlat till att generera den nya modellen.

Äldre datauppsättningsmodell

Property Description Required
type Typegenskapen för datauppsättningen måste anges till: FileShare Yes
folderPath Sökväg till mappen.

Jokerteckenfilter stöds, tillåtna jokertecken är: * (matchar noll eller fler tecken) och ? (matchar noll eller enstaka tecken); använd ^ för att fly om ditt faktiska mappnamn har jokertecken eller detta escape-tecken inuti.

Exempel: rootfolder/subfolder/, se fler exempel i mapp- och filfilterexempel.
Yes
fileName Namn- eller jokerteckenfilter för filer under den angivna folderPath. Om du inte anger något värde för den här egenskapen pekar datauppsättningen på alla filer i mappen.

För filter är tillåtna jokertecken: * (matchar noll eller fler tecken) och ? (matchar noll eller enskilt tecken).
- Exempel 1: "fileName": "*.csv"
- Exempel 2: "fileName": "???20180427.txt"
Använd ^ för att komma undan om det faktiska filnamnet har jokertecken eller det här escape-teckenet inuti.

När fileName inte har angetts för en utdatauppsättning och preserveHierarchy inte anges i aktivitetshimlet genererar kopieringsaktiviteten automatiskt filnamnet med följande mönster: "Data.[aktivitetskörnings-ID].[GUID om FlattenHierarchy].[format om konfigurerat].[komprimering om konfigurerad]", till exempel "Data.0a405f8a-93ff-4c6f-b3be-f69616f1df7a.txt.gz"; om du kopierar från en tabellkälla med tabellnamn i stället för fråga är namnmönstret "[tabellnamn].[format].[komprimering om konfigurerad]", till exempel "MyTable.csv".
No
modifiedDatetimeStart Filfilter baserat på attributet: Senast ändrad. Filerna väljs om deras senaste ändringstid är större än eller lika med modifiedDatetimeStart och mindre än modifiedDatetimeEnd. Tiden tillämpas på UTC-tidszonen i formatet "2018-12-01T05:00:00Z".

Tänk på att den övergripande prestandan för dataförflyttning påverkas genom att aktivera den här inställningen när du vill filtrera filer från stora mängder filer.

Egenskaperna kan vara NULL, vilket innebär att inget filattributfilter tillämpas på datamängden. När modifiedDatetimeStart har datetime-värde men modifiedDatetimeEnd är NULL innebär det att de filer vars senast ändrade attribut är större än eller lika med datetime-värdet kommer att väljas. När modifiedDatetimeEnd har datetime-värde men modifiedDatetimeStart är NULL innebär det att de filer vars senast ändrade attribut är mindre än datetime-värdet väljs.
No
modifiedDatetimeEnd Filfilter baserat på attributet: Senast ändrad. Filerna väljs om deras senaste ändringstid är större än eller lika med modifiedDatetimeStart och mindre än modifiedDatetimeEnd. Tiden tillämpas på UTC-tidszonen i formatet "2018-12-01T05:00:00Z".

Tänk på att den övergripande prestandan för dataförflyttning påverkas genom att aktivera den här inställningen när du vill filtrera filer från stora mängder filer.

Egenskaperna kan vara NULL, vilket innebär att inget filattributfilter tillämpas på datamängden. När modifiedDatetimeStart har datetime-värde men modifiedDatetimeEnd är NULL innebär det att de filer vars senast ändrade attribut är större än eller lika med datetime-värdet kommer att väljas. När modifiedDatetimeEnd har datetime-värde men modifiedDatetimeStart är NULL innebär det att de filer vars senast ändrade attribut är mindre än datetime-värdet väljs.
No
format Om du vill kopiera filer som de är mellan filbaserade lager (binär kopia) hoppar du över formatavsnittet i både indata- och utdatauppsättningsdefinitioner.

Om du vill parsa eller generera filer med ett visst format stöds följande filformattyper: TextFormat, JsonFormat, AvroFormat, OrcFormat, ParquetFormat. Ange typegenskapen under format till ett av dessa värden. Mer information finns i avsnitten Textformat, JSON-format, Avro-format, Orc-format och Parquet-format .
Nej (endast för scenario med binär kopiering)
compression Ange typ och komprimeringsnivå för data. Mer information finns i Filformat som stöds och komprimeringskodex.
Typer som stöds är: GZip, Deflate, BZip2 och ZipDeflate.
Nivåerna som stöds är: Optimala och snabbaste.
No

Tip

Om du vill kopiera alla filer i en mapp anger du bara folderPath.
Om du vill kopiera en enskild fil med ett angivet namn anger du folderPath med mappdel och fileName med filnamn.
Om du vill kopiera en delmängd av filer under en mapp anger du folderPath med mappdel och fileName med jokerteckenfilter.

Note

Om du använder egenskapen "fileFilter" för filfilter stöds den fortfarande som den är, medan du rekommenderas att använda den nya filterfunktionen som läggs till i "fileName" framöver.

Example:

{
    "name": "AzureFileStorageDataset",
    "properties": {
        "type": "FileShare",
        "linkedServiceName":{
            "referenceName": "<Azure File Storage 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"
            }
        }
    }
}

Källmodell för äldre kopieringsaktivitet

Property Description Required
type Typegenskapen för kopieringsaktivitetskällan måste anges till: FileSystemSource Yes
recursive Anger om data läse rekursivt från undermapparna eller endast från den angivna mappen. Observera att när rekursiv är inställd på sant och målet är filbaserat, kopieras eller skapas inte tomma mappar/undermappar vid målet.
Tillåtna värden är: true (standard), false
No
maxConcurrentConnections Den övre gränsen för samtidiga anslutningar som upprättats till datalagret under aktiviteten. Ange endast ett värde när du vill begränsa samtidiga anslutningar. No

Example:

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

Modell för äldre kopieringsaktivitetsmottagare

Property Description Required
type Typegenskapen för kopieringsaktivitetsmottagaren måste anges till: FileSystemSink Yes
copyBehavior Definierar kopieringsbeteendet när källan är filer från filbaserat datalager.

Tillåtna värden är:
– PreserveHierarchy (standard): bevarar filhierarkin i målmappen. Den relativa sökvägen för källfilen till källmappen är identisk med den relativa sökvägen för målfilen till målmappen.
– FlattenHierarchy: alla filer från källmappen finns på den första nivån i målmappen. Målfilerna har automatiskt genererat namn.
– MergeFiles: sammanfogar alla filer från källmappen till en fil. Om filnamnet anges är det kopplade filnamnet det angivna namnet; annars skulle det vara ett automatiskt genererat filnamn.
No
maxConcurrentConnections Den övre gränsen för samtidiga anslutningar som upprättats till datalagret under aktiviteten. Ange endast ett värde när du vill begränsa samtidiga anslutningar. No

Example:

"activities":[
    {
        "name": "CopyToAzureFileStorage",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<Azure File Storage output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "<source type>"
            },
            "sink": {
                "type": "FileSystemSink",
                "copyBehavior": "PreserveHierarchy"
            }
        }
    }
]

För en lista över datalagringar som stöds som källor och mottagare av kopieringsaktiviteten, se stödda datalagringar.