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 pipelines för att kopiera data från och till Azure Blob Storage. Den beskriver också hur du använder Dataflöde aktivitet för att transformera data i Azure Blob Storage. Mer information finns i introduktionsartiklarna Azure Data Factory och Azure Synapse Analytics.

Tips

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

Funktioner som stöds

Den här Azure Blob Storage anslutningsappen stöds för följande funktioner:

Funktioner som stöds IR Hanterad privat slutpunkt
aktiviteten Kopiera (källa/mottagare) ① ② Exkludera lagringskonto V1
Mappa dataflöde (källa/mottagare) Exkludera lagringskonto V1
Sökningsaktivitet ① ② Exkludera lagringskonto V1
GetMetadata-aktivitet ① ② Exkludera lagringskonto V1
Ta bort aktivitet ① ② Exkludera lagringskonto V1

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

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

  • Kopiera blobar till och från allmänna Azure Storage-konton och frekvent/lågfrekvent bloblagring.
  • Kopiera blobar med hjälp av en kontonyckel, en signatur för delad åtkomst (SAS), ett tjänsthuvudnamn eller hanterade identiteter för Azure-resursautentiseringar.
  • Kopiera blobar från block-, tilläggs- eller sidblobar och kopiera data till endast blockblobar.
  • Kopiera blobar som de är, eller parsa eller generera blobar med filformat som stöds och komprimeringskodc.
  • Bevarar filmetadata under kopiering.

Kom igång

Om du vill utföra 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 Azure Blob Storage länkad tjänst i användargränssnittet för Azure Portal.

  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å Nytt:

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

    Välj Azure Blob Storage anslutningsprogram.

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

    Skärmbild av konfigurationen för Azure Blob Storage länkade tjänsten.

Konfigurationsinformation för anslutningsprogram

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

Länkade tjänstegenskaper

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

Anteckning

  • Om du vill använda den offentliga Azure-integreringskörningen för att ansluta till bloblagringen genom att använda alternativet Tillåt betrodda Microsoft-tjänster att komma åt det här lagringskontot som är aktiverat i Azure Storage-brandväggen, måste du använda hanterad identitetsautentisering. Mer information om inställningarna för Azure Storage-brandväggar finns i Konfigurera Azure Storage-brandväggar och virtuella nätverk.
  • När du använder PolyBase- eller COPY-instruktionen för att läsa in data i Azure Synapse Analytics måste du använda hanterad identitetsautentisering enligt Azure Synapse om din käll- eller mellanlagringsbloblagring har konfigurerats med en Azure-Virtual Network-slutpunkt. Mer konfigurationskrav finns i avsnittet Hanterad identitetsautentisering .

Anteckning

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

Kontonyckelautentisering

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

Egenskap Beskrivning Krävs
typ Egenskapen type måste anges till AzureBlobStorage (föreslagen) eller AzureStorage (se följande anteckningar). Ja
Connectionstring Ange den information som behövs för att ansluta till Storage för connectionString egenskapen.
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 Store-autentiseringsuppgifter i Azure Key Vault.
Ja
connectVia Den integrationskörning som ska användas för att ansluta till datalagret. Du kan använda Azure Integration Runtime eller den lokalt installerade integrationskörningen (om ditt datalager finns i ett privat nätverk). Om den här egenskapen inte har angetts använder tjänsten standardkörningen för Azure-integrering. Inga

Anteckning

En sekundär blobtjänstslutpunkt stöds inte när du använder kontonyckelautentisering. 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"
        }
    }
}

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.

Du behöver inte dela dina kontoåtkomstnycklar. Signaturen för delad åtkomst är en URI som i sina frågeparametrar innehåller all information som krä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

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

Egenskap Beskrivning Krävs
typ Egenskapen type måste anges till AzureBlobStorage (föreslagen) eller AzureStorage (se följande anteckning). Ja
sasUri Ange signatur-URI för delad åtkomst till lagringsresurser som blob eller container.
Markera det här fältet så SecureString att det lagras 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.
Ja
connectVia Den integrationskörning som ska användas för att ansluta till datalagret. Du kan använda Azure Integration Runtime eller den lokalt installerade integrationskörningen (om ditt datalager finns i ett privat nätverk). Om den här egenskapen inte har angetts använder tjänsten standardkörningen för Azure-integrering. Inga

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": {
            "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"
        }
    }
}

När du skapar en signatur-URI för delad åtkomst bör du tänka på följande:

  • 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 Lagringsobjekt inte upphör att gälla inom den aktiva perioden för pipelinen.
  • URI:n ska skapas i rätt container eller blob baserat på behovet. Med en signatur-URI för delad åtkomst till en blob kan datafabriken eller Synapse-pipelinen komma åt den specifika bloben. Med en signatur-URI för delad åtkomst till en Blob Storage-container kan datafabriken eller Synapse-pipelinen iterera via blobar i containern. Om du vill ge åtkomst till fler eller färre objekt senare, eller uppdatera signatur-URI:n för delad åtkomst, kom ihåg att uppdatera den länkade tjänsten med den nya URI:n.

Autentisering av tjänstens huvudnamn

Allmän information om autentisering av tjänstens huvudnamn för Azure Storage 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
    • Klient-ID:t
  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.

    • I Åtkomstkontroll (IAM)som källa beviljar du minst rollen Storage Blob Data Reader.
    • I Åtkomstkontroll (IAM)som mottagare beviljar du minst rollen Storage Blob Data-deltagare.

Dessa egenskaper stöds för en Azure Blob Storage länkad tjänst:

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

När du använder länkad Azure Blob-tjänst i dataflöde stöds inte hanterad identitet eller autentisering med tjänstens huvudnamn när kontot är tomt eller "Lagring". Ange rätt typ av konto, välj en annan autentisering eller uppgradera ditt lagringskonto till generell användning v2.
Inga
servicePrincipalId Ange programmets klient-ID. Ja
servicePrincipalCredentialType Den typ av autentiseringsuppgifter som ska användas för autentisering av tjänstens huvudnamn. Tillåtna värden är ServicePrincipalKey och ServicePrincipalCert. Ja
servicePrincipalCredential Autentiseringsuppgifter för tjänstens huvudnamn.
När du använder ServicePrincipalKey som typ av autentiseringsuppgifter anger du programmets nyckel. Markera det här fältet som SecureString för att lagra det på ett säkert sätt eller referera till en hemlighet som lagras i Azure Key Vault.
När du använder ServicePrincipalCert som autentiseringsuppgifter refererar du till ett certifikat i Azure Key Vault och kontrollerar att certifikatinnehållstypen är PKCS #12.
Ja
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 i Azure Portal. Ja
azureCloudType För autentisering med tjänstens huvudnamn anger du vilken typ av Azure-molnmiljö som ditt Azure Active Directory-program är registrerat på.
Tillåtna värden är AzurePublic, AzureChina, AzureUsGovernment och AzureGermany. Som standard används datafabriken eller Synapse-pipelinens molnmiljö.
Inga
connectVia Den integrationskörning som ska användas för att ansluta till datalagret. Du kan använda Azure Integration Runtime eller den lokalt installerade integrationskörningen (om ditt datalager finns i ett privat nätverk). Om den här egenskapen inte har angetts använder tjänsten standardkörningen för Azure-integrering. Inga

Anteckning

  • Om ditt blobkonto aktiverar mjuk borttagning stöds inte autentisering av tjänstens huvudnamn i Dataflöde.
  • Om du kommer åt bloblagringen via en privat slutpunkt med hjälp av Dataflöde bör du tänka på när autentisering med tjänstens huvudnamn används Dataflöde 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 av 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"
        }
    }
}

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 direkt använda den här systemtilldelade hanterade identiteten för Blob Storage-autentisering, vilket liknar att använda ditt eget huvudnamn för tjänsten. Den 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 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 systemtilldelad hanterad identitetsinformation genom att kopiera värdet för det systemtilldelade objekt-ID för hanterad identitet som genereras 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älla beviljar du minst rollen Storage Blob Data Reader i Åtkomstkontroll (IAM).
    • I Åtkomstkontroll (IAM)som mottagare beviljar du minst rollen Storage Blob Data-deltagare.

Dessa egenskaper stöds för en Azure Blob Storage länkad tjänst:

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

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

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ändartilldelad autentisering av hanterad identitet

En datafabrik kan tilldelas en eller flera användartilldelade hanterade identiteter. Du kan använda den här användartilldelade hanterade identiteten för Blob Storage-autentisering, som gör att du 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 Azure Storage-autentisering finns i Autentisera åtkomst till Azure Storage med Azure Active Directory. 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 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älla beviljar du minst rollen Storage Blob Data Reader i Åtkomstkontroll (IAM).
    • I Åtkomstkontroll (IAM)som mottagare beviljar du minst rollen Storage Blob Data-deltagare.
  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 Azure Blob Storage länkad tjänst:

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

När du använder en länkad Azure Blob-tjänst i dataflödet stöds inte autentisering med hanterad identitet eller tjänstens huvudnamn när kontot är tomt eller "Lagring". Ange rätt typ av konto, välj en annan autentisering eller uppgradera ditt lagringskonto till generell användning v2.
Inga
autentiseringsuppgifter Ange den användartilldelade hanterade identiteten som autentiseringsobjekt. Ja
connectVia Integration Runtime som ska användas för att ansluta till datalagret. Du kan använda Azure Integration Runtime eller integrationskörningen med egen värd (om ditt datalager finns i ett privat nätverk). Om den här egenskapen inte anges använder tjänsten standardkörningen för Azure-integrering. Inga

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 som mellanlagring) till Azure Synapse Analytics ska du även följa steg 1 till 3 i den här vägledningen när du använder hanterad identitetsautentisering för Blob Storage. 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å aktivera Tillåt betrodda Microsoft-tjänster att komma åt det här lagringskontotinställningsmenyn brandväggar och virtuella nätverk i Azure Storage enligt vad som krävs av Azure Synapse.

Anteckning

  • Om ditt blobkonto aktiverar mjuk borttagning stöds inte systemtilldelad/användartilldelad hanterad identitetsautentisering i Dataflöde.
  • Om du kommer åt bloblagringen via en privat slutpunkt med hjälp av Dataflöde, observera när systemtilldelad/användartilldelad hanterad identitetsautentisering används Dataflöde 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

Systemtilldelad/användartilldelad 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. Se varje artikel för 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. Ja
container Blobcontainern. Ja
folderPath Sökvägen till mappen under den angivna containern. Om du vill använda jokertecken för att filtrera mappen hoppar du över den här inställningen och anger den i inställningarna för aktivitetskällan. Inga
fileName Filnamnet under den angivna container- 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. Inga

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. Se varje artikel för 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 storeSettings måste anges till AzureBlobStorageReadSettings. Ja
Leta upp filerna som ska kopieras:
ALTERNATIV 1: Statisk sökväg
Kopiera från den angivna containern eller mapp-/filsökvägen som anges i datauppsättningen. Om du vill kopiera alla blobar från en container eller mapp anger du wildcardFileName dessutom 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 är markerade. 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 notera att undersökvägen efter den sista "/" i prefixet bevaras. Du har till exempel källan container/folder/subfolder/file.txtoch konfigurerar prefixet som folder/suboch sedan är subfolder/file.txtden bevarade filsökvägen .
Inga
ALTERNATIV 3: jokertecken
– jokerteckenFolderPath
Mappsökvägen med jokertecken under den angivna containern som konfigurerats i en datauppsättning 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 undanta om mappnamnet har jokertecken eller det här escape-tecknet inuti.
Se fler exempel i exempel på mapp- och filfilter.
Inga
ALTERNATIV 3: jokertecken
- jokerteckenFileName
Filnamnet med jokertecken under den angivna container- och mappsökvägen (eller sökvägen till jokerteckenmappen) 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 undanta om filnamnet har ett jokertecken eller det här escape-tecknet inuti. Se fler exempel i exempel på mapp- och filfilter.
Ja
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 sökvägen 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 Fillisteexempel.
Inga
Ytterligare inställningar:
Rekursiv Anger om data läse 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 i mottagaren.
Tillåtna värden är true (standard) och false.
Den här egenskapen gäller inte när du konfigurerar fileListPath.
Inga
deleteFilesAfterCompletion Anger om de binära filerna kommer att tas bort från källarkivet när de har flyttats till målarkivet. Filborttagningen sker 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.
Inga
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 modifiedDatetimeStart har ett datetime-värde men modifiedDatetimeEnd är NULL, väljs de filer vars senast ändrade attribut är större än eller lika med datetime-värdet. När modifiedDatetimeEnd har ett datetime-värde men modifiedDatetimeStart är NULL väljs de filer vars senast ändrade attribut är mindre än datetime-värdet.
Den här egenskapen gäller inte när du konfigurerar fileListPath.
Inga
modifiedDatetimeEnd Samma som ovan. Inga
enablePartitionDiscovery För filer som är partitionerade anger du om du vill parsa partitionerna från filsökvägen och lägga till dem som ytterligare källkolumner.
Tillåtna värden är false (standard) och true.
Inga
partitionRootPath När partitionsidentifiering är aktiverat anger du den absoluta rotsökvägen för att läsa partitionerade mappar som datakolumner.

Om den inte anges, som standard,
– 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 med jokertecken är partitionsrotsökvägen undersökvägen före det första jokertecknet.
– När du använder prefixet är partitionsrotsökvägen undersökvägen 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 partitionsrotsökvägen som "root/folder/year=2020" genererar kopieringsaktiviteten ytterligare två kolumner month och day med värdet "08" respektive "27", förutom kolumnerna i filerna.
– Om partitionens rotsökväg inte har angetts genereras ingen extra kolumn.
Inga
maxConcurrentConnections Den övre gränsen för samtidiga anslutningar som upprättas till datalagret under aktivitetskörningen. Ange endast ett värde när du vill begränsa samtidiga anslutningar. Inga

Anteckning

För Parquet/avgränsat textformat stöds blobsource-typen för den aktiviteten Kopiera källa som nämns i nästa avsnitt fortfarande, precis som för bakåtkompatibilitet. Vi rekommenderar att du använder den nya modellen tills redigeringsgränssnittet har växlat 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$logs, som skapas automatiskt när Lagringsanalys är aktiverad för ett lagringskonto, visas inte när en containerlistningsåtgärd utförs via användargränssnittet. Filsökvägen måste anges direkt för att datafabriken eller Synapse-pipelinen ska kunna använda filer från containern $logs .

Blob Storage som mottagartyp

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

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

Egenskap Beskrivning Krävs
typ Egenskapen type under storeSettings måste anges till AzureBlobStorageWriteSettings. Ja
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. Källfilens relativa sökväg till källmappen är identisk med målfilens relativa sökväg 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 fil- eller blobnamnet anges är det kopplade filnamnet det angivna namnet. Annars är det ett automatiskt genererat filnamn.
Inga
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 bestämmer tjänsten automatiskt blockstorleken baserat på källlagringstypen och data. För icke-bindande 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 den lokala integrationskörningen med dåliga nätverksanslutningar som resulterar i timeout- eller prestandaproblem. Du kan uttryckligen ange en blockstorlek, samtidigt som du ser till att blockSizeInMB*50000 är tillräckligt stor för att lagra data. Annars misslyckas den aktiviteten Kopiera körningen.
Inga
maxConcurrentConnections Den övre gränsen för samtidiga anslutningar som upprättas till datalagret under aktivitetskörningen. Ange endast ett värde när du vill begränsa samtidiga anslutningar. Inga
metadata Ange anpassade metadata när du kopierar till mottagare. Varje objekt under matrisen metadata representerar en extra kolumn. name definierar namnet på metadatanyckeln och value anger datavärdet för nyckeln. Om funktionen bevara attribut används kommer angivna metadata att förenas/skrivas över med källfilens metadata.

Tillåtna datavärden är:
- $$LASTMODIFIED: en reserverad variabel anger att källfilernas senaste ändringstid ska lagras. Gäller endast för filbaserad källa med binärt format.
- Uttryck
- Statiskt värde
Inga

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 det resulterande beteendet för 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å fillista

I det här avsnittet beskrivs det resulterande beteendet för att använda en sökväg till en fillista 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 fillistan: 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 sökvägen som konfigurerats i datauppsättningen.

Några 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 .

Rekursiv copyBehavior Källmappsstruktur Resulterande mål
true preserveHierarchy Mapp1
    Fil1
    Fil2
    Undermapp1
        Fil3
        Fil4
        Fil5
Målmappen Mapp1 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 Mapp1 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 Mapp1 skapas med följande struktur:

Mapp1
    File1 + File2 + File3 + File4 + File5-innehåll sammanfogas till en fil med ett automatiskt genererat filnamn.
falskt preserveHierarchy Mapp1
    Fil1
    Fil2
    Undermapp1
        Fil3
        Fil4
        Fil5
Målmappen Mapp1 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 Mapp1 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 Mapp1 skapas med följande struktur:

Mapp1
    Fil1 + Fil2-innehåll sammanfogas till 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 Bevara metadata.

Mappa dataflödesegenskaper

När du transformerar data i mappning av dataflö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ällomvandling i mappning av dataflöde och Sink transformation i mappning av dataflöde.

Källtransformering

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

Källalternativ

Sökvägar med jokertecken: Om du använder ett jokerteckenmönster instrueras tjänsten att loopa igenom 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 matchande mönster med jokertecken med plustecknet som visas när du hovrar över ditt befintliga jokerteckenmönster.

Från källcontainern väljer du en serie filer som matchar ett mönster. Endast en container kan anges i datauppsättningen. Sökvägen till jokertecknet måste därför även innehålla mappsökvägen från rotmappen.

Jokerteckenexempel:

  • * Representerar alla teckenuppsättningar.

  • ** 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 på 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 med X- eller Y-prefixet med ett tvåsiffrigt tal.

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

Ange först ett jokertecken så att det innehåller alla sökvägar som är de partitionerade mapparna plus lövfilerna som du vill läsa.

Inställningar för partitionskällans fil

Använd inställningen Partition root path (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 matchade partitionerna som finns på var och en av mappnivåerna.

Partitionsrotsökväg

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 filnamn: 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örts, ta bort källfilen eller flytta källfilen. Sökvägarna för flytten är relativa.

Om du vill flytta källfiler till en annan plats efter bearbetning väljer du först Flytta för filåtgärd. Ange sedan katalogen "från". 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 hämtades 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 Dataflöde i en pipeline. Filåtgärder körs inte i Dataflöde 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: Om det är sant får du bara nya eller ändrade filer från den senaste körningen. Den första inläsningen av fullständiga ögonblicksbildsdata hämtas alltid i den första körningen, följt av att samla in nya eller ändrade filer endast i nästa körningar. Mer information finns i Ändra datainsamling.

Skärmbild som visar Aktivera insamling av ändringsdata.

Egenskaper för mottagare

I mottagartransformeringen 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.

Alternativ för mottagare

Rensa mappen: Avgör om målmappen rensas innan data skrivs.

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

  • Standard: Tillåt att Spark namnger filer baserat på standardvärdena för PART.
  • Mönster: Ange ett mönster som räknar upp dina utdatafiler per partition. Skapar till exempel loans[n].csvloans1.csv, loans2.csvoch så 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 kommer den att åsidosättas.
  • Utdata till en enda fil: Kombinera de partitionerade utdatafilerna till en enda namngiven fil. Sökvägen är relativ till datauppsättningsmappen. Tänk på att sammanslagningsåtgärden eventuellt kan misslyckas baserat på nodstorleken. Vi rekommenderar inte det här alternativet för stora datauppsättningar.

Citat alla: Avgör om alla värden ska omges av citattecken.

Egenskaper för uppslagsaktivitet

Mer information om egenskaperna finns i Sökningsaktivitet.

Egenskaper för GetMetadata-aktivitet

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 precis som för bakåtkompatibilitet. Vi rekommenderar att du använder den nya modellen som nämnts tidigare. Redigeringsgränssnittet har växlat till att generera den nya modellen.

Äldre datauppsättningsmodell

Egenskap Beskrivning Krävs
typ Egenskapen type för datauppsättningen måste anges till AzureBlob. Ja
folderPath Sökväg till containern och mappen i Blob Storage.

Ett jokerteckenfilter stöds för sökvägen, exklusive containerns namn. Tillåtna jokertecken är: * (matchar noll eller flera tecken) och ? (matchar noll eller enskilt tecken). Använd ^ för att undanta 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 uppslagsaktiviteten 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 undanta om filnamnet har ett jokertecken eller det här escape-tecknet inuti.

När fileName inte har angetts för en utdatauppsättning och preserveHierarchy inte anges i aktivitetsmottagaren genererar aktiviteten Kopiera automatiskt blobnamnet med följande mönster: "Data.[ aktivitetskörningens ID-GUID]. [GUID om FlattenHierarchy]. [format om det har konfigurerats]. [komprimering om den har konfigurerats]". 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 [table name].[format].[compression if configured]namnmönstret . Exempel: "MyTable.csv".
Inga
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 om du aktiverar den här inställningen påverkas den övergripande prestandan för dataflytt 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 modifiedDatetimeStart har ett datetime-värde men modifiedDatetimeEnd är NULL, väljs de filer vars senast ändrade attribut är större än eller lika med datetime-värdet. När modifiedDatetimeEnd har ett datetime-värde men modifiedDatetimeStart är NULL, väljs de filer vars senast ändrade attribut är mindre än datetime-värdet.
Inga
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 om du aktiverar den här inställningen påverkas den övergripande prestandan för dataflytt 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 modifiedDatetimeStart har ett datetime-värde men modifiedDatetimeEnd är NULL, väljs de filer vars senast ändrade attribut är större än eller lika med datetime-värdet. När modifiedDatetimeEnd har ett datetime-värde men modifiedDatetimeStart är NULL, väljs de filer vars senast ändrade attribut är mindre än datetime-värdet.
Inga
format Om du vill kopiera filer som de är mellan filbaserade lager (binär kopia) hoppar du över formatavsnittet i både datauppsättningsdefinitionerna för indata och utdata.

Om du vill parsa eller generera filer med ett visst format stöds följande filformattyper: TextFormat, JsonFormat, AvroFormat, OrcFormat och ParquetFormat. Ange typegenskapen under format till något 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)
komprimering Ange typ och komprimeringsnivå för data. Mer information finns i Filformat och komprimeringskodc som stöds.
Typer som stöds är GZip, Deflate, BZip2 och ZipDeflate.
Nivåerna som stöds är optimala och snabbaste.
Inga

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-källan måste anges till BlobSource. Ja
Rekursiv Anger om data läse rekursivt från undermapparna eller endast från den angivna mappen. Observera att när recursive är inställt på true och mottagaren är ett filbaserat arkiv, kopieras inte en tom mapp eller undermapp i mottagaren.
Tillåtna värden är true (standard) och false.
Inga
maxConcurrentConnections Den övre gränsen för samtidiga anslutningar som upprättas till datalagret under aktivitetskörningen. Ange endast ett värde när du vill begränsa samtidiga anslutningar. Inga

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 mottagarmodell för aktiviteten Kopiera

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

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"
            }
        }
    }
]

Ändringsdatainsamling (förhandsversion)

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

Se till att pipelinen och aktivitetsnamnet är 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 pipelinens namn eller aktivitetsnamn å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 avbildning 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 hämtas alltid ändringarna 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.