Kopiera och transformera data i Azure Blob Storage med hjälp av Azure Data Factory eller Azure Synapse Analytics

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

Den här artikeln beskriver hur du använder aktiviteten Kopiera i Azure Data Factory och Azure Synapse för att kopiera data från och till Azure Blob Storage. Den beskriver också hur du använder Data Flow för att transformera data i Azure Blob Storage. Mer information finns i artiklarna Azure Data Factory och Azure Synapse Analytics introduktion.

Tips

Mer information om ett migreringsscenario för en datasjö eller ett informationslager finns i artikeln Migrera data från din datasjö eller ett informationslager till Azure.

Funktioner som stöds

Den här Anslutningsappen för Azure Blob Storage stöds för följande aktiviteter:

För den aktiviteten Kopiera stöder den här Blob Storage-anslutningen:

  • Kopiera blobar till och från allmänna Azure-lagringskonton och bloblagring med hög/hög användning.
  • Kopiera blobar med hjälp av en kontonyckel, en signatur för delad åtkomst (SAS) för tjänsten, ett huvudnamn för tjänsten eller hanterade identiteter för Azure-resursautentiseringar.
  • Kopiera blobar från block-, tilläggs- eller sidblobbar och kopiera data till endast blockblobar.
  • Kopiera blobar som de är, eller parsa eller generera blobar med filformat och codecs för komprimering som stöds.
  • Bevara filmetadata under kopieringen.

Kom igång

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

Skapa en Azure Blob Storage länkad tjänst med hjälp av användargränssnittet

Använd följande steg för att skapa en länkad Azure Blob Storage-tjänst i Azure Portal användargränssnitt.

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

  2. Sök efter blob och välj anslutningsappen Azure Blob Storage.

    Select Azure Blob Storage connector.

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

    Screenshot of configuration for Azure Blob Storage linked service.

Information om konfiguration av anslutning

Följande avsnitt innehåller information om egenskaper som används för att definiera Data Factory Synapse-pipelineentiteter som är specifika för Blob Storage.

Egenskaper för länkad tjänst

Den här anslutningsappen för Blob Storage stöder följande autentiseringstyper. Mer information finns i motsvarande avsnitt.

Anteckning

  • Om du vill använda den offentliga Azure Integration Runtime för att ansluta till bloblagringen genom att använda alternativet Tillåt att betrott Microsoft-tjänster får åtkomst till det här lagringskontot som är aktiverat i Azure Storage-brandväggen måste du använda autentisering med hanterad identitet.
  • När du använder PolyBase- eller COPY-instruktionen för att läsa in data till Azure Synapse Analytics måste du använda autentisering med hanterad identitet som krävs av Azure Synapse om din källa eller mellanlagringsbloblagring har konfigurerats med en Azure Virtual Network-slutpunkt. Se avsnittet Hanterad identitetsautentisering för fler konfigurationsförutsättningar.

Anteckning

Azure HDInsight och Azure Machine Learning stöder endast autentisering som använder Azure Blob Storage-kontonycklar.

Autentisering av kontonyckel

Följande egenskaper stöds för autentisering av lagringskontonyckel i Azure Data Factory eller Synapse-pipelines:

Egenskap Beskrivning Krävs
typ Egenskapen type måste anges till AzureBlobStorage (föreslaget) eller AzureStorage (se följande kommentarer). Yes
Connectionstring Ange den information som behövs för att Storage för connectionString egenskapen .
Du kan också placera kontonyckeln i Azure Key Vault hämta konfigurationen accountKey från anslutningssträngen. Mer information finns i följande exempel och artikeln Lagra autentiseringsuppgifter i Azure Key Vault artikeln.
Yes
connectVia Integreringskörningen som ska användas för att ansluta till datalagret. Du kan använda Azure Integration Runtime eller integration runtime med egen värd (om ditt datalager finns i ett privat nätverk). Om den här egenskapen inte anges använder tjänsten Azure Integration Runtime som är standard. No

Anteckning

En sekundär blobtjänstslutpunkt stöds inte när du använder autentisering med kontonyckel. Du kan använda andra autentiseringstyper.

Anteckning

Om du använder typen AzureStorage länkad tjänst stöds den fortfarande som den är. Men vi föreslår att du använder den nya AzureBlobStorage länkade tjänsttypen framöver.

Exempel:

{
    "name": "AzureBlobStorageLinkedService",
    "properties": {
        "type": "AzureBlobStorage",
        "typeProperties": {
          "connectionString": "DefaultEndpointsProtocol=https;AccountName=<accountname>;AccountKey=<accountkey>"
        },
        "connectVia": {
          "referenceName": "<name of Integration Runtime>",
          "type": "IntegrationRuntimeReference"
        }
    }
}

Exempel: lagra kontonyckeln i Azure Key Vault

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

Autentisering med signatur 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.

Du behöver inte dela åtkomstnycklarna för ditt konto. Signaturen för delad åtkomst är en URI som i frågeparametrarna innehåller all information som behövs för autentiserad åtkomst till en lagringsresurs. För att få åtkomst till lagringsresurser med signaturen för delad åtkomst behöver klienten bara skicka signaturen för delad åtkomst till lämplig konstruktor eller metod.

Mer information om signaturer för delad åtkomst finns i Signaturer för delad åtkomst: Förstå signaturmodellen för delad åtkomst.

Anteckning

  • Tjänsten stöder nu både signaturer för delad åtkomst för tjänsten ochsignaturer för delad åtkomst för konton. Mer information om signaturer för delad åtkomst finns i Bevilja begränsad åtkomst till Azure Storage resurser med signaturer för delad åtkomst.
  • I senare datamängdskonfigurationer är mappsökvägen den absoluta sökvägen som börjar på containernivå. Du måste konfigurera en som är anpassad efter sökvägen i din SAS-URI.

Följande egenskaper stöds för att använda autentisering med signatur för delad åtkomst:

Egenskap Beskrivning Krävs
typ Egenskapen type måste anges till AzureBlobStorage (föreslaget) eller AzureStorage (se följande kommentar). Yes
sasUri Ange signaturens URI för delad åtkomst till Storage till exempel blob eller container.
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 att använda automatisk rotation och ta bort tokendelen. Mer information finns i följande exempel och Lagra autentiseringsuppgifter i Azure Key Vault.
Yes
connectVia Integreringskörningen som ska användas för att ansluta till datalagret. Du kan använda Azure Integration Runtime eller integration Runtime med egen värd (om ditt datalager finns i ett privat nätverk). Om den här egenskapen inte anges använder tjänsten standardinställningen Azure Integration Runtime. No

Anteckning

Om du använder typen AzureStorage länkad tjänst stöds den fortfarande som den är. Men vi föreslår att du använder den nya AzureBlobStorage länkade tjänsttypen i framtiden.

Exempel:

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

Exempel: lagra kontonyckeln i Azure Key Vault

{
    "name": "AzureBlobStorageLinkedService",
    "properties": {
        "type": "AzureBlobStorage",
        "typeProperties": {
            "sasUri": {
                "type": "SecureString",
                "value": "<SAS URI of the Azure Storage resource without token e.g. https://<accountname>.blob.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>>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Tänk på följande när du skapar en signatur-URI för delad åtkomst:

  • Ange lämpliga läs-/skrivbehörigheter för objekt baserat på hur den länkade tjänsten (läsa, skriva, läsa/skriva) används.
  • Ange Förfallotid på lämpligt sätt. Kontrollera att åtkomsten till Storage objekt inte upphör att gälla inom den aktiva perioden för pipelinen.
  • URI:en ska skapas i rätt container eller blob baserat på behovet. En signatur-URI för delad åtkomst till en blob gör att datafabriken eller Synapse-pipelinen kan komma åt den specifika bloben. En signatur-URI för delad åtkomst till en Blob Storage-container gör att datafabriken eller Synapse-pipelinen kan iterera genom blobar i containern. Kom ihåg att uppdatera den länkade tjänsten med den nya URI:en för att ge åtkomst till fler eller färre objekt senare, eller för att uppdatera signatur-URI för delad åtkomst.

Autentisering av tjänstens huvudnamn

Allmän information om hur Azure Storage autentisering av tjänstens huvudnamn finns i Autentisera åtkomst till Azure Storage med Azure Active Directory.

Följ dessa steg om du vill använda autentisering med tjänstens huvudnamn:

  1. Registrera en programentitet i Azure Active Directory (Azure AD) genom att följa Registrera ditt program med en Azure AD-klientorganisation. Anteckna dessa värden som du använder för att definiera den länkade tjänsten:

    • Program-ID:t
    • Programnyckel
    • Klientorganisations-ID
  2. Ge tjänstens huvudnamn rätt behörighet i Azure Blob Storage. Mer information om rollerna finns i Använda Azure Portal för att tilldela en Azure-roll för åtkomst till blob- och ködata.

    • Som källai Åtkomstkontroll (IAM)beviljar du minst Storage rollen Blob Data Reader.
    • Som mottagarei Åtkomstkontroll (IAM)beviljar du minst rollen Storage Blob Data-deltagare.

De här egenskaperna stöds för en länkad Azure Blob Storage-tjänst:

Egenskap Beskrivning Krävs
typ Typegenskapen måste anges till AzureBlobStorage. Yes
serviceEndpoint Ange tjänstslutpunkten för Azure Blob Storage med mönstret https://<accountName>.blob.core.windows.net/ . Yes
accountKind Ange typen av lagringskonto. Tillåtna värden är: Storage (generell användning v1), StorageV2 (generell användning v2), BlobStorageeller BlockBlobStorage.

När du använder länkad Azure Blob-tjänst i dataflöde stöds inte autentisering med hanterad identitet eller tjänstens huvudnamn när kontot är tomt eller "Storage". Ange rätt typ av konto, välj en annan autentisering eller uppgradera ditt lagringskonto till generell användning v2.
No
servicePrincipalId Ange programmets klient-ID. Yes
servicePrincipalKey Ange programmets nyckel. Markera det här fältet som SecureString för att lagra det säkertFactory, eller referera till en hemlighet som lagras i Azure Key Vault. Yes
tenant Ange den klientinformation (domännamn eller klientorganisations-ID) som programmet finns under. Hämta den genom att hovra över det övre högra hörnet av Azure Portal. Yes
azureCloudType För autentisering med tjänstens huvudnamn anger du vilken typ av Azure-molnmiljö som ditt Azure Active Directory är registrerat i.
Tillåtna värden är AzurePublic,AzureChina,AzureUsGovernmentoch AzureGermany. Som standard används datafabriken eller Synapse-pipelinens molnmiljö.
No
connectVia Integreringskörningen som ska användas för att ansluta till datalagret. Du kan använda Azure Integration Runtime eller integration Runtime med egen värd (om ditt datalager finns i ett privat nätverk). Om den här egenskapen inte anges använder tjänsten standardinställningen Azure Integration Runtime. No

Anteckning

  • Om ditt blobkonto aktiverar mjuk borttagning stödsinte autentisering av tjänstens huvudnamn i Data Flow.
  • Om du använder bloblagring via privat slutpunkt med hjälp av Data Flow bör du observera när autentisering med tjänstens huvudnamn används Data Flow ansluter till ADLS Gen2 slutpunkten i stället för blobslutpunkten. Se till att du skapar motsvarande privata slutpunkt i din datafabrik eller Synapse-arbetsyta för att aktivera åtkomst.

Anteckning

Autentisering med tjänstens huvudnamn stöds endast av den länkade tjänsten av typen "AzureBlobStorage", inte den tidigare länkade tjänsten av typen "AzureStorage".

Exempel:

{
    "name": "AzureBlobStorageLinkedService",
    "properties": {
        "type": "AzureBlobStorage",
        "typeProperties": {            
            "serviceEndpoint": "https://<accountName>.blob.core.windows.net/",
            "accountKind": "StorageV2",
            "servicePrincipalId": "<service principal id>",
            "servicePrincipalKey": {
                "type": "SecureString",
                "value": "<service principal key>"
            },
            "tenant": "<tenant info, e.g. microsoft.onmicrosoft.com>" 
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Systemautentisering av hanterad identitet

En datafabrik eller Synapse-pipeline kan associeras med en system tilldelad hanterad identitet för Azure-resurser, som representerar resursen för autentisering till andra Azure-tjänster. Du kan använda den här system tilldelade hanterade identiteten direkt för Blob Storage-autentisering, vilket liknar att använda ditt eget huvudnamn för tjänsten. Det gör att den här avsedda resursen kan komma åt och kopiera data från eller till Blob Storage. Mer information om hanterade identiteter för Azure-resurser finns i Hanterade identiteter för Azure-resurser

Allmän information om hur Azure Storage autentisering finns i Autentisera åtkomst till Azure Storage med Azure Active Directory. Följ dessa steg om du vill använda hanterade identiteter för Azure-resursautentisering:

  1. Hämta information om system tilldelad hanterad identitet genom att kopiera värdet för objekt-ID:t för den system tilldelade hanterade identiteten som genererades tillsammans med din fabrik eller Synapse-arbetsyta.

  2. Ge den hanterade identiteten behörighet i Azure Blob Storage. Mer information om rollerna finns i Använda Azure Portal för att tilldela en Azure-roll för åtkomst till blob- och ködata.

    • Som källai Åtkomstkontroll (IAM)beviljar du minst Storage rollen Blob Data Reader.
    • Som mottagarei Åtkomstkontroll (IAM)beviljar du minst rollen Storage Blob Data-deltagare.

De här egenskaperna stöds för en länkad Azure Blob Storage-tjänst:

Egenskap Beskrivning Krävs
typ Typegenskapen måste anges till AzureBlobStorage. Yes
serviceEndpoint Ange tjänstslutpunkten för Azure Blob Storage med mönstret https://<accountName>.blob.core.windows.net/ . Yes
accountKind Ange typen av lagringskonto. Tillåtna värden är: Storage (generell användning v1), StorageV2 (generell användning v2), BlobStorageeller BlockBlobStorage.

När du använder länkad Azure Blob-tjänst i dataflöde stöds inte autentisering med hanterade identiteter eller tjänstens huvudnamn när kontot är tomt eller "Storage". Ange rätt typ av konto, välj en annan autentisering eller uppgradera ditt lagringskonto till generell användning v2.
No
connectVia Integreringskörningen som ska användas för att ansluta till datalagret. Du kan använda Azure Integration Runtime eller integration Runtime med egen värd (om ditt datalager finns i ett privat nätverk). Om den här egenskapen inte anges använder tjänsten standardinställningen Azure Integration Runtime. No

Exempel:

{
    "name": "AzureBlobStorageLinkedService",
    "properties": {
        "type": "AzureBlobStorage",
        "typeProperties": {            
            "serviceEndpoint": "https://<accountName>.blob.core.windows.net/",
            "accountKind": "StorageV2" 
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Användarautentisering av hanterad identitet

En datafabrik kan tilldelas med en eller flera användar tilldelade hanterade identiteter. Du kan använda den här användar tilldelade hanterade identiteten för Blob Storage-autentisering, som tillåter åtkomst till och kopiering av data från eller till Blob Storage. Mer information om hanterade identiteter för Azure-resurser finns i Hanterade identiteter för Azure-resurser

Allmän information om Azure Storage-autentisering finns i Autentisera åtkomst till Azure Storage med Azure Active Directory. Följ dessa steg om du vill använda autentisering med användar tilldelad hanterad identitet:

  1. Skapa en eller flera användar tilldelade hanterade identiteter och bevilja behörighet i Azure Blob Storage. Mer information om rollerna finns i Använda Azure Portal för att tilldela en Azure-roll för åtkomst till blob- och ködata.

    • Som källai Åtkomstkontroll (IAM)beviljar du minst Storage rollen Blob Data Reader.
    • Som mottagarei Åtkomstkontroll (IAM)beviljar du minst rollen Storage Blob Data-deltagare.
  2. Tilldela en eller flera användar tilldelade hanterade identiteter till din datafabrik och skapa autentiseringsuppgifter för varje användar tilldelad hanterad identitet.

De här egenskaperna stöds för en länkad Azure Blob Storage-tjänst:

Egenskap Beskrivning Krävs
typ Typegenskapen måste anges till AzureBlobStorage. Yes
serviceEndpoint Ange tjänstslutpunkten för Azure Blob Storage med mönstret https://<accountName>.blob.core.windows.net/ . Yes
accountKind Ange typen av lagringskonto. Tillåtna värden är: Storage (generell användning v1), StorageV2 (generell användning v2), BlobStorageeller BlockBlobStorage.

När du använder länkad Azure Blob-tjänst i dataflöde stöds inte autentisering med hanterade identiteter eller tjänstens huvudnamn när kontot är tomt eller "Storage". Ange rätt typ av konto, välj en annan autentisering eller uppgradera ditt lagringskonto till generell användning v2.
No
autentiseringsuppgifter Ange den användar tilldelade hanterade identiteten som autentiseringsobjektet. Yes
connectVia Integreringskörningen som ska användas för att ansluta till datalagret. Du kan använda Azure Integration Runtime eller integration Runtime med egen värd (om ditt datalager finns i ett privat nätverk). Om den här egenskapen inte anges använder tjänsten standardinställningen Azure Integration Runtime. No

Exempel:

{
    "name": "AzureBlobStorageLinkedService",
    "properties": {
        "type": "AzureBlobStorage",
        "typeProperties": {            
            "serviceEndpoint": "https://<accountName>.blob.core.windows.net/",
            "accountKind": "StorageV2",
            "credential": {
                "referenceName": "credential1",
                "type": "CredentialReference"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Viktigt

Om du använder PolyBase- eller COPY-instruktionen för att läsa in data från Blob Storage (som källa eller mellanlagring) till Azure Synapse Analytics ska du, när du använder hanterad identitetsautentisering för Blob Storage, även följa steg 1 till 3 i den här vägledningen. De här stegen registrerar servern med Azure AD och tilldelar rollen Storage Blob Data-deltagare till servern. Data Factory hanterar resten. Om du konfigurerar Blob Storage med en Azure Virtual Network-slutpunkt måste du också ha Tillåt betrodda Microsoft-tjänster att komma åt det här lagringskontot aktiverat under menyn Brandväggar och inställningar för virtuella nätverk för Azure Storage-konto efter behov av Azure Synapse.

Anteckning

  • Om ditt blobkonto aktiverar mjuk borttagningstöds inte autentisering med system-tilldelad/användar tilldelad hanterad identitet i Data Flow.
  • Om du kommer åt bloblagringen via en privat slutpunkt med hjälp av Data Flow bör du observera när autentisering med system-tilldelad/användar tilldelad hanterad identitet används Data Flow ansluter till ADLS Gen2-slutpunkten i stället för blobslutpunkten. Se till att du skapar motsvarande privata slutpunkt i ADF för att aktivera åtkomst.

Anteckning

System-tilldelad/användar tilldelad hanterad identitetsautentisering stöds endast av den länkade tjänsten av typen "AzureBlobStorage", inte den tidigare länkade tjänsten av typen "AzureStorage".

Egenskaper för datamängd

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. I varje artikel finns formatbaserade inställningar.

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

Egenskap Beskrivning Krävs
typ Typegenskapen för platsen i datauppsättningen måste anges till AzureBlobStorageLocation. Yes
container Blobcontainern. Yes
folderPath Sökvägen till mappen under den angivna containern. Om du vill använda ett jokertecken för att filtrera mappen hoppar du över den här inställningen och anger den i inställningarna för aktivitetskällan. No
fileName Filnamnet under den angivna containern och mappsökvägen. Om du vill använda jokertecken för att filtrera filer hoppar du över den här inställningen och anger den i inställningarna för aktivitetskällan. No

Exempel:

{
    "name": "DelimitedTextDataset",
    "properties": {
        "type": "DelimitedText",
        "linkedServiceName": {
            "referenceName": "<Azure Blob Storage linked service name>",
            "type": "LinkedServiceReference"
        },
        "schema": [ < physical schema, optional, auto retrieved during authoring > ],
        "typeProperties": {
            "location": {
                "type": "AzureBlobStorageLocation",
                "container": "containername",
                "folderPath": "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 bloblagringskällan och -mottagaren stöder.

Blob Storage som källtyp

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

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

Egenskap Beskrivning Krävs
typ Typegenskapen under måste anges till AzureBlobStorageReadSettings. Yes
Leta upp de filer som ska kopieras:
ALTERNATIV 1: statisk sökväg
Kopiera från den angivna containern eller mappen/filsökvägen som anges i datauppsättningen. Om du vill kopiera alla blobar från en container eller mapp anger du dessutom wildcardFileName som * .
ALTERNATIV 2: blobprefix
- prefix
Prefix för blobnamnet under den angivna containern som konfigurerats i en datauppsättning för att filtrera källblobar. Blobar vars namn börjar med container_in_dataset/this_prefix väljs. Den använder filtret på tjänstsidan för Blob Storage, vilket ger bättre prestanda än ett jokerteckenfilter.

När du använder prefix och väljer att kopiera till filbaserad mottagare med bevarad hierarki bör du observera att den underordnade sökvägen efter den sista "/"-prefixet bevaras. Om du till exempel har källan container/folder/subfolder/file.txt och konfigurerar prefixet folder/sub som , är den bevarade filsökvägen subfolder/file.txt .
No
ALTERNATIV 3: jokertecken
– wildcardFolderPath
Mappsökvägen med jokertecken under den angivna containern som konfigurerats i en datamängd för att filtrera källmappar.
Tillåtna jokertecken är: * (matchar noll eller flera tecken) ? och (matchar noll eller enskilt tecken). Använd ^ för att escape-ange om mappnamnet har jokertecken eller det här escape-tecknet inuti.
Se fler exempel i Exempel på mapp- och filfilter.
No
ALTERNATIV 3: jokertecken
– jokerteckenFileName
Filnamnet med jokertecken under den angivna containern och mappsökvägen (eller jokermappens sökväg) för att filtrera källfiler.
Tillåtna jokertecken är: * (matchar noll eller flera tecken) ? och (matchar noll eller enskilt tecken). Använd ^ för att escape-ange om filnamnet har ett jokertecken eller det här escape-tecknet inuti. Se fler exempel i Exempel på mapp- och filfilter.
Yes
ALTERNATIV 4: en lista över filer
- fileListPath
Anger att en viss 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 den sökväg som konfigurerats i datauppsättningen.
När du använder det här alternativet ska du inte ange något filnamn i datauppsättningen. Se fler exempel i Exempel på fillistor.
No
Ytterligare inställningar:
Rekursiv Anger om data läses rekursivt från undermapparna eller endast från den angivna mappen. Observera att när rekursivt är inställt på sant och mottagaren är ett filbaserat arkiv, kopieras inte en tom mapp eller undermapp på mottagaren.
Tillåtna värden är true (standard) och false.
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 ett scenario med kopiering av binära filer. Standardvärdet: false.
No
modifiedDatetimeStart Filer filtreras 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å en UTC-tidszon i formatet "2018-12-01T05:00:00Z".
Egenskaperna kan vara NULL,vilket innebär att inget filattributfilter tillämpas på datauppsättningen. När har ett datetime-värde men är NULL väljs de filer vars senaste ändrade attribut är större än eller modifiedDatetimeStartmodifiedDatetimeEnd lika med datetime-värdet. modifiedDatetimeStart När har ett datetime-värde men är NULL , markeras de filer vars senaste ändrade attribut är mindre modifiedDatetimeEndmodifiedDatetimeStart än datetime-värdet. modifiedDatetimeEnd
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 partitionsidentifiering är aktiverat anger du den absoluta rotsökvägen för att kunna läsa partitionerade mappar som datakolumner.

Om det inte anges, som standard,
– När du använder filsökvägen i datauppsättningen eller listan över filer på källan är partitionens rotsökväg den sökväg som konfigureras i datauppsättningen.
– När du använder mappfilter med jokertecken är partitionens rotsökväg undersökvägen före det första jokertecknet.
- När du använder prefixet är partitionens rotsökväg en undersökväg före den sista "/".

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

Anteckning

För Formatet Parquet/avgränsad text stöds blobkälltypen för den aktiviteten Kopiera som anges i nästa avsnitt fortfarande som är för bakåtkompatibilitet. Vi rekommenderar att du använder den nya modellen tills redigeringsgränssnittet har bytt till att generera dessa nya typer.

Exempel:

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

Anteckning

Containern, som skapas automatiskt när Storage Analytics har aktiverats för ett lagringskonto, visas inte när en åtgärd för att lista $logs containrar utförs via användargränssnittet. Filsökvägen måste anges direkt för att din datafabrik eller Synapse-pipeline ska kunna använda filer från $logs containern.

Blob Storage som mottagare

Azure Data Factory har stöd för följande filformat. Läs mer om formatbaserade inställningar i varje artikel.

Följande egenskaper stöds för Azure Blob Storage under storeSettings inställningar i en formatbaserad kopierings mottagare:

Egenskap Beskrivning Krävs
typ Egenskapen type under måste anges till storeSettingsAzureBlobStorageWriteSettings . 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 till 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 filens eller blobens namn anges är det sammanfogade filnamnet det angivna namnet. Annars är det ett automatiskt genererat filnamn.
No
blockSizeInMB Ange blockstorleken i megabyte som används för att skriva data till blockblobar. Läs mer om blockblobar.
Det tillåtna värdet är mellan 4 MB och 100 MB.
Som standard avgör tjänsten automatiskt blockstorleken baserat på typen av källarkiv och dina data. För icke-binär kopiering till Blob Storage är standardblockstorleken 100 MB så att den får plats i (högst) 4,95 TB data. Det kanske inte är optimalt när dina data inte är stora, särskilt när du använder integrationskörning med egen värd med dåliga nätverksanslutningar som resulterar i timeout-fel eller prestandaproblem. Du kan uttryckligen ange en blockstorlek, samtidigt som du ser till blockSizeInMB*50000 att den är tillräckligt stor för att lagra data. Annars misslyckas aktiviteten Kopiera körningen.
No
maxConcurrentConnections Den övre gränsen för samtidiga anslutningar som upprättas till datalagret under aktivitetskörningen. Ange bara ett värde när du vill begränsa samtidiga anslutningar. No
metadata Ange anpassade metadata när du kopierar till mottagare. Varje objekt under metadata matrisen representerar en extra kolumn. definierar name metadatanyckelns namn och value anger datavärdet för nyckeln. Om funktionen bevara attribut används, kommer de angivna metadata att union/skriva över med källfilens metadata.

Tillåtna datavärden är:
- $$LASTMODIFIED: en reserverad variabel anger att källfilerna senast ändrades. Gäller endast för filbaserad källa med binärt format.
– Uttryck
- - Statiskt värde
No

Exempel:

"activities":[
    {
        "name": "CopyFromBlob",
        "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": "AzureBlobStorageWriteSettings",
                    "copyBehavior": "PreserveHierarchy",
                    "metadata": [
                        {
                            "name": "testKey1",
                            "value": "value1"
                        },
                        {
                            "name": "testKey2",
                            "value": "value2"
                        },
                        {
                            "name": "lastModifiedKey",
                            "value": "$$LASTMODIFIED"
                        }
                    ]
                }
            }
        }
    }
]

Exempel på mapp- och filfilter

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

folderPath fileName Rekursiv Källmappens struktur och filterresultat (filer i fetstil hämtas)
container/Folder* (tom, använd standard) falskt container
    MappA
        File1.csv
        File2.json
        Undermapp1
            File3.csv
            File4.json
            File5.csv
    AnotherFolderB
        File6.csv
container/Folder* (tom, använd standard) true container
    MappA
        File1.csv
        File2.json
        Undermapp1
            File3.csv
            File4.json
            File5.csv
    AnotherFolderB
        File6.csv
container/Folder* *.csv falskt container
    MappA
        File1.csv
        File2.json
        Undermapp1
            File3.csv
            File4.json
            File5.csv
    AnotherFolderB
        File6.csv
container/Folder* *.csv true container
    MappA
        File1.csv
        File2.json
        Undermapp1
            File3.csv
            File4.json
            File5.csv
    AnotherFolderB
        File6.csv

Exempel på fillistor

I det här avsnittet beskrivs resultatet av att använda en sökväg för fillistan i aktiviteten Kopiera-källan.

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

Exempel på källstruktur Innehåll i FileListToCopy.txt Konfiguration
container
    MappA
        File1.csv
        File2.json
        Undermapp1
            File3.csv
            File4.json
            File5.csv
    Metadata
        FileListToCopy.txt
File1.csv
Undermapp1/File3.csv
Undermapp1/File5.csv
I datauppsättning:
– Container: container
– Mappsökväg: FolderA

I aktiviteten Kopiera källa:
– Sökväg till fillista: container/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 den sökväg som konfigurerats i datauppsättningen.

Några rekursiva exempel och copyBehavior-exempel

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

Rekursiv copyBehavior Källmappsstruktur Resulterande mål
true preserveHierarchy Mapp1
    Fil1
    Fil2
    Undermapp1
        Fil3
        Fil4
        Fil5
Målmappen, Folder1, skapas med samma struktur som källan:

Mapp1
    Fil1
    Fil2
    Undermapp1
        Fil3
        Fil4
        Fil5
true flattenHierarchy Mapp1
    Fil1
    Fil2
    Undermapp1
        Fil3
        Fil4
        Fil5
Målmappen, Folder1, skapas med följande struktur:

Mapp1
    automatiskt genererat namn för File1
    automatiskt genererat namn för File2
    automatiskt genererat namn för File3
    automatiskt genererat namn för File4
    automatiskt genererat namn för File5
true mergeFiles Mapp1
    Fil1
    Fil2
    Undermapp1
        Fil3
        Fil4
        Fil5
Målmappen, Folder1, skapas med följande struktur:

Mapp1
    Innehållet File1 + File2 + File3 + File4 + File5 sammanfogas i en fil med ett automatiskt genererat filnamn.
falskt preserveHierarchy Mapp1
    Fil1
    Fil2
    Undermapp1
        Fil3
        Fil4
        Fil5
Målmappen, Folder1, skapas med följande struktur:

Mapp1
    Fil1
    Fil2

Undermapp1 med File3, File4 och File5 hämtas inte.
falskt flattenHierarchy Mapp1
    Fil1
    Fil2
    Undermapp1
        Fil3
        Fil4
        Fil5
Målmappen, Folder1, skapas med följande struktur:

Mapp1
    automatiskt genererat namn för File1
    automatiskt genererat namn för File2

Undermapp1 med File3, File4 och File5 hämtas inte.
falskt mergeFiles Mapp1
    Fil1
    Fil2
    Undermapp1
        Fil3
        Fil4
        Fil5
Målmappen, Folder1, skapas med följande struktur:

Mapp1
    File1 + File2-innehåll sammanfogas i en fil med ett automatiskt genererat filnamn. automatiskt genererat namn för File1

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

Bevara metadata under kopiering

När du kopierar filer från Amazon S3, Azure Blob Storage eller Azure Data Lake Storage Gen2 till Azure Data Lake Storage Gen2 eller Azure Blob Storage kan du välja att bevara filmetadata tillsammans med data. Läs mer i Preserve metadata (Bevara metadata).

Mappa dataflödesegenskaper

När du transformerar data i mappningsdataflöden kan du läsa och skriva filer från Azure Blob Storage i följande format:

Formatspecifika inställningar finns i dokumentationen för det formatet. Mer information finns i Källtransformering i mappning av dataflöde ochSink transformation i mappning av dataflöde.

Källtransformering

Vid källtransformering kan du läsa från en container, mapp eller en enskild fil i Azure Blob Storage. Använd fliken Källalternativ för att hantera hur filerna läses.

Source options

Sökvägar med jokertecken: Med ett jokerteckenmönster instrueras tjänsten att loopa genom varje matchande mapp och fil i en enda källtransformering. Det här är ett effektivt sätt att bearbeta flera filer i ett enda flöde. Lägg till flera matchningsmönster med jokertecken med plustecknet som visas när du hovrar över ditt befintliga jokerteckenmönster.

Välj en serie filer som matchar ett mönster från källcontainern. Endast en container kan anges i datauppsättningen. Sökvägen med jokertecken måste därför även innehålla sökvägen till mappen från rotmappen.

Exempel med jokertecken:

  • * Representerar en uppsättning tecken.

  • ** Representerar rekursiv katalogkapsling.

  • ? Ersätter ett tecken.

  • [] Matchar ett eller flera tecken inom hakparenteserna.

  • /data/sales/**/*.csv Hämtar alla .csv filer under /data/sales.

  • /data/sales/20??/**/ Hämtar alla filer under 1900-talet.

  • /data/sales/*/*/*.csv Hämtar .csv filer två nivåer under /data/sales.

  • /data/sales/2004/*/12/[XY]1?.csv Hämtar alla .csv filer i december 2004 och börjar med X eller Y med ett tvåsiffrigt tal som prefix.

Partitionsrotsökväg: Om du har partitionerade mappar i din filkälla med ett format (till exempel ), kan du tilldela den översta nivån i partitionsmappträdet till ett kolumnnamn i year=2019 dataflödets dataström.

Ange först ett jokertecken för att inkludera alla sökvägar som är partitionerade mappar plus de lövfiler som du vill läsa.

Partition source file settings

Använd inställningen Partitionsrotsökväg för att definiera den översta nivån i mappstrukturen. När du visar innehållet i dina data via en dataförhandsgranskning ser du att tjänsten lägger till de lösta partitionerna som finns i var och en av dina mappnivåer.

Partition root path

Lista över filer: Det här är en filuppsättning. Skapa en textfil som innehåller en lista över relativa sökvägsfiler som ska bearbetas. Peka på den här textfilen.

Kolumn för att lagra filnamnet: Lagra namnet på källfilen i en kolumn i dina data. Ange ett nytt kolumnnamn här för att lagra filnamnssträngen.

Efter slutförande: Välj att inte göra något med källfilen när dataflödet har körs, ta bort källfilen eller flytta källfilen. Sökvägarna för flytten är relativa.

Om du vill flytta källfilerna till en annan plats efter bearbetningen väljer du först Flytta för filåtgärd. Ange sedan katalogen "from". Om du inte använder jokertecken för sökvägen är inställningen "från" samma mapp som källmappen.

Om du har en källsökväg med jokertecken ser syntaxen ut så här:

/data/sales/20??/**/*.csv

Du kan ange "från" som:

/data/sales

Och du kan ange "till" som:

/backup/priorSales

I det här fallet flyttas alla filer som källa under /data/sales till /backup/priorSales .

Anteckning

Filåtgärder körs bara när du startar dataflödet från en pipelinekörning (en pipelinefelsökning eller körningskörning) som använder aktiviteten Kör data Flow i en pipeline. Filåtgärder körs inte i data Flow felsökningsläge.

Filtrera efter senast ändrad: Du kan filtrera vilka filer du bearbetar genom att ange ett datumintervall för när de senast ändrades. Alla datum/tid-värden anges i UTC-tid.

Aktivera insamling av ändringsdata (förhandsversion): Om sant får du bara nya eller ändrade filer från den senaste körningen. Den första inläsningen av fullständiga ögonblicksbildsdata tas alltid i den första körningen, följt av att nya eller ändrade filer endast samlas in i nästa körningar. Mer information finns i Samla in ändringsdata (förhandsversion).

Screenshot showing Enable change data capture (Preview).

Egenskaper för mottagare

I omvandlingen av mottagaren kan du skriva till antingen en container eller en mapp i Azure Blob Storage. Använd fliken Inställningar för att hantera hur filerna skrivs.

Sink options

Rensa mappen: Anger om målmappen rensas innan data skrivs.

Filnamnsalternativ: Anger hur målfilerna namnges i målmappen. Alternativen för filnamn är:

  • Standard:Tillåt spark att namnge filer baserat på PART-standardvärden.
  • Mönster:Ange ett mönster som räknar upp dina utdatafiler per partition. Skapar till loans[n].csv exempel , och så loans1.csvloans2.csv vidare.
  • Per partition:Ange ett filnamn per partition.
  • Som data i kolumnen: Ange utdatafilen till värdet för en kolumn. Sökvägen är relativ till datamängdscontainern, inte målmappen. Om du har en mappsökväg i datauppsättningen åsidosätts den.
  • Utdata till en enskild fil:Kombinera de partitionerade utdatafilerna till en enda namngiven fil. Sökvägen är relativ till datamängdsmappen. Tänk på att sammanslagningsåtgärden kan misslyckas baserat på nodstorleken. Vi rekommenderar inte det här alternativet för stora datamängder.

Ange alla: Anger om du vill omsluta alla värden inom citattecken.

Egenskaper för sökningsaktivitet

Mer information om egenskaperna finns i Lookup activity (Sökningsaktivitet).

GetMetadata-aktivitetsegenskaper

Mer information om egenskaperna finns i GetMetadata-aktiviteten.

Ta bort aktivitetsegenskaper

Mer information om egenskaperna finns i Ta bort aktivitet.

Äldre modeller

Anteckning

Följande modeller stöds fortfarande och är för bakåtkompatibilitet. Vi rekommenderar att du använder den nya modellen som nämndes tidigare. Redigeringsgränssnittet har bytt till att generera den nya modellen.

Äldre datauppsättningsmodell

Egenskap Beskrivning Krävs
typ typeDatauppsättningens egenskap måste anges till AzureBlob . Yes
folderPath Sökväg till containern och mappen i Blob Storage.

Ett jokerteckenfilter stöds för sökvägen, exklusive containernamn. Tillåtna jokertecken är: * (matchar noll eller flera tecken) ? och (matchar noll eller enskilt tecken). Använd ^ för att escape-ange om mappnamnet har ett jokertecken eller det här escape-tecknet inuti.

Ett exempel är: myblobcontainer/myblobfolder/ . Se fler exempel i Exempel på mapp- och filfilter.
Ja för kopierings- eller sökningsaktiviteten, Nej för GetMetadata-aktiviteten
fileName Namn- eller jokerteckenfilter för blobarna under det angivna folderPath värdet. Om du inte anger något värde för den här egenskapen pekar datauppsättningen på alla blobar i mappen.

För filtret är tillåtna jokertecken: * (matchar noll eller flera tecken) och ? (matchar noll eller enskilt tecken).
– Exempel 1: "fileName": "*.csv"
– Exempel 2: "fileName": "???20180427.txt"
Använd ^ för att escape-ange om filnamnet har ett jokertecken eller det här escape-tecknet inuti.

När inte har angetts för en utdatauppsättning och inte har angetts i aktivitets-mottagaren genererar aktiviteten Kopiera automatiskt blobnamnet med följande fileNamepreserveHierarchy mönster: "fileName". Till exempel: "Data.0a405f8a-93ff-4c6f-b3be-f69616f1df7a.txt.gz".

Om du kopierar från en tabellkälla med hjälp av ett tabellnamn i stället för en fråga är namnmönstret [table name].[format].[compression if configured] . Till exempel: "MyTable.csv".
No
modifiedDatetimeStart Filer filtreras 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 aktivering av den här inställningen påverkar den övergripande prestandan vid dataförflyttning när du vill filtrera stora mängder filer.

Egenskaperna kan vara NULL , vilket innebär att inget filattributfilter tillämpas på datauppsättningen. När har ett datetime-värde men är , kommer de filer vars senaste ändrade attribut är större än eller lika med modifiedDatetimeStartmodifiedDatetimeEndNULL datetime-värdet att väljas. När har ett datetime-värde men är , markeras de filer vars senaste ändrade attribut är mindre modifiedDatetimeEndmodifiedDatetimeStart än NULL datetime-värdet.
No
modifiedDatetimeEnd Filer filtreras 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 aktivering av den här inställningen påverkar den övergripande prestandan vid dataförflyttning när du vill filtrera stora mängder filer.

Egenskaperna kan vara NULL , vilket innebär att inget filattributfilter tillämpas på datauppsättningen. När har ett datetime-värde men är , kommer de filer vars senaste ändrade attribut är större än eller lika med modifiedDatetimeStartmodifiedDatetimeEndNULL datetime-värdet att väljas. När har ett datetime-värde men är , markeras de filer vars senaste ändrade attribut är mindre modifiedDatetimeEndmodifiedDatetimeStart än NULL datetime-värdet.
No
format Om du vill kopiera filer som de är mellan filbaserade arkiv (binär kopia) hoppar du över formatavsnittet i definitionerna för både indata- och utdatauppsättningen.

Om du vill parsa eller generera filer med ett visst format stöds följande filformattyper: TextFormat,JsonFormat,AvroFormat, OrcFormatoch ParquetFormat. Ange type-egenskapen under format till något av dessa värden. Mer information finns i avsnitten Textformat,JSON-format,Avro-format,Orc-formatoch Parquet-format.
Nej (endast för scenario med binär kopiering)
komprimering Ange typ och nivå av komprimering för data. Mer information finns i Filformat och komprimerings-codecs som stöds.
De typer som stöds är GZip,Deflate,BZip2och ZipDeflate.
Nivåerna som stöds är optimala och snabbaste.
No

Tips

Om du vill kopiera alla blobar under en mapp anger du endast folderPath.
Om du vill kopiera en enskild blob med ett visst namn anger du folderPath för mappdelen och fileName som filnamn.
Om du vill kopiera en delmängd av blobar under en mapp anger du folderPath för mappdelen och fileName med ett jokerteckenfilter.

Exempel:

{
    "name": "AzureBlobDataset",
    "properties": {
        "type": "AzureBlob",
        "linkedServiceName": {
            "referenceName": "<Azure Blob storage linked service name>",
            "type": "LinkedServiceReference"
        },
        "typeProperties": {
            "folderPath": "mycontainer/myfolder",
            "fileName": "*",
            "modifiedDatetimeStart": "2018-12-01T05:00:00Z",
            "modifiedDatetimeEnd": "2018-12-01T06:00:00Z",
            "format": {
                "type": "TextFormat",
                "columnDelimiter": ",",
                "rowDelimiter": "\n"
            },
            "compression": {
                "type": "GZip",
                "level": "Optimal"
            }
        }
    }
}

Äldre källmodell för aktiviteten Kopiera

Egenskap Beskrivning Krävs
typ Egenskapen type för aktiviteten Kopiera måste anges till BlobSource . Yes
Rekursiv Anger om data läses rekursivt från undermapparna eller endast från den angivna mappen. Observera att när är inställt på och mottagaren är ett filbaserat arkiv, kopieras inte en tom mapp eller undermapp på recursivetrue mottagaren.
Tillåtna värden true är (standard) och false .
No
maxConcurrentConnections Den övre gränsen för samtidiga anslutningar som upprättas till datalagret under aktivitetskörningen. Ange ett värde endast när du vill begränsa samtidiga anslutningar. No

Exempel:

"activities":[
    {
        "name": "CopyFromBlob",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<Azure Blob input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "BlobSource",
                "recursive": true
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Äldre mottagare för aktiviteten Kopiera

Egenskap Beskrivning Krävs
typ Egenskapen type för aktiviteten Kopiera mottagare måste anges till BlobSink . 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 filens eller blobens namn anges är det sammanfogade filnamnet det angivna namnet. Annars är det ett automatiskt genererat filnamn.
No
maxConcurrentConnections Den övre gränsen för samtidiga anslutningar som upprättas till datalagret under aktivitetskörningen. Ange ett värde endast när du vill begränsa samtidiga anslutningar. No

Exempel:

"activities":[
    {
        "name": "CopyToBlob",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<Azure Blob output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "<source type>"
            },
            "sink": {
                "type": "BlobSink",
                "copyBehavior": "PreserveHierarchy"
            }
        }
    }
]

Samla in ändringsdata (förhandsversion)

Azure Data Factory kan bara hämta nya eller ändrade filer från Azure Blob Storage genom att aktivera Aktivera avbildning av ändringsdata (förhandsversion) i omvandlingen av dataflödesmappningen. Med det här anslutningsalternativet kan du bara läsa nya eller uppdaterade filer och tillämpa transformationer innan du läser in transformerade data till valfria måldatauppsättningar.

Se till att du behåller pipelinen och aktivitetsnamnet oförändrade, så att kontrollpunkten alltid kan registreras från den senaste körningen för att hämta ändringar därifrån. Om du ändrar pipelinenamnet eller aktivitetsnamnet återställs kontrollpunkten och du börjar från början i nästa körning.

När du felsöker pipelinen fungerar även Aktivera insamling av ändringsdata (förhandsversion). Tänk på att kontrollpunkten återställs när du uppdaterar webbläsaren under felsökningskörningen. När du är nöjd med resultatet från felsökningskörningen kan du publicera och utlösa pipelinen. Den startar alltid från början oavsett den tidigare kontrollpunkten som registrerats av felsökningskörningen.

I övervakningsavsnittet har du alltid möjlighet att köra en pipeline igen. När du gör det kommer ändringarna alltid från kontrollpunktsposten i den valda pipelinekörningen.

Nästa steg

En lista över datalager som aktiviteten Kopiera stöder som källor och mottagare finns i Datalager som stöds.