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 Data Flow för att transformera data i Azure Blob Storage. Mer information finns i Azure Data Factory och Azure Synapse Analytics introduktionsartiklar.
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:
- aktiviteten Kopiera med käll-/mottagare-matris som stöds
- Mappa dataflöde
- Sökningsaktivitet
- GetMetadata-aktivitet
- Ta bort aktivitet
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/kall lagring.
- Kopiera blobar med hjälp av en kontonyckel, en signatur för delad åtkomst (SAS), ett huvudnamn för tjänsten 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 och codec 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:
- Verktyget Kopiera data verktyg
- Azure-portalen
- .NET SDK
- The Python SDK
- Azure PowerShell
- REST-API:t.
- Mallen Azure Resource Manager
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 Azure Portal användargränssnitt.
Bläddra till fliken Hantera i arbetsytan Azure Data Factory Synapse och välj Länkade tjänster och klicka sedan på Ny:
Sök efter blob och välj anslutningsappen Azure Blob Storage.
Konfigurera tjänstinformationen, testa anslutningen och skapa den nya länkade tjänsten.
Konfigurationsinformation för 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.
- Autentisering av kontonyckel
- Autentisering med signatur för delad åtkomst
- Autentisering av tjänstens huvudnamn
- Systemautentisering av hanterad identitet
- Användarautentisering av hanterad identitet
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 betrodda 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 hanterad identitetsautentisering om din källa eller mellanlagringsbloblagring har konfigurerats med en Azure Virtual Network-slutpunkt enligt Azure Synapse. 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 anteckningar). |
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. |
Yes |
| connectVia | Integration Runtime 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
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 i framtiden.
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 ge 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 och signaturer för delad åtkomst för konton. Mer information om signaturer för delad åtkomst finns i Bevilja begränsad åtkomst till Azure Storage med signaturer för delad åtkomst.
- I senare datauppsättningskonfigurationer ä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 | Integration Runtime 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
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:
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
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älla i Åtkomstkontroll (IAM) beviljar du minst rollen Storage Blob Data Reader.
- Som mottagare i Å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), BlobStorage eller 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 |
| 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 har registrerats för. Tillåtna värden är AzurePublic, AzureChina, AzureUsGovernment och 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 Azure Integration Runtime som är standard. | No |
Anteckning
- Om ditt blobkonto aktiverar mjuk borttagning stödsinte autentisering av tjänstens huvudnamn 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 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 den 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:
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.
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 i Åtkomstkontroll (IAM) beviljar du minst rollen Storage Blob Data Reader.
- Som mottagare i Å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), BlobStorage eller 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 Azure Integration Runtime som är standard. | 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ändar tilldelad autentisering av hanterad identitet
En datafabrik kan tilldelas 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 ger åtkomst till och kopierar 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:
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älla i Åtkomstkontroll (IAM) beviljar du minst Storage rollen Blob Data Reader.
- Som mottagare, i Åtkomstkontroll (IAM) beviljar du minst rollen Storage Blob Data-deltagare.
Tilldela en eller flera användar tilldelade hanterade identiteter till din datafabrik och skapa autentiseringsuppgifter för varje användar tilldelad hanterad identitet.
Dessa egenskaper 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), BlobStorage eller 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 Storage rollen 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 få åtkomst till det här lagring Azure Synapse skontot aktiverat under inställningsmenyn Brandväggar och virtuella nätverk för Azure Storage.
Anteckning
- Om ditt blobkonto möjliggör mjuk borttagningstöds inte autentisering med system-tilldelad/användar tilldelad hanterad identitet i Data Flow.
- Om du använder bloblagringen via privat slutpunkt med hjälp av Data Flow bör du observera att data Flow ansluter till ADLS Gen2-slutpunkten i stället för blobslutpunkten när autentisering med system-tilldelad/användar tilldelad hanterad identitet används. Se till att du skapar motsvarande privata slutpunkt i ADF för att aktivera åtkomst.
Anteckning
Autentisering med system-tilldelad/användar tilldelad hanterad identitet 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 har stöd för följande filformat. I varje artikel finns formatbaserade inställningar.
- Avro-format
- Binärt format
- Avgränsat textformat
- Excel-format
- JSON-format
- ORC-format
- Parquet-format
- XML-format
Följande egenskaper stöds för Azure Blob Storage under inställningar location i en formatbaserad datamängd:
| Egenskap | Beskrivning | Krävs |
|---|---|---|
| typ | Egenskapen type 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 har stöd för följande filformat. I varje artikel finns formatbaserade inställningar.
- Avro-format
- Binärt format
- Avgränsat textformat
- Excel-format
- JSON-format
- ORC-format
- Parquet-format
- XML-format
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 storeSettings AzureBlobStorageReadSettings. |
Yes |
| Leta upp filerna 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 innehåller ett jokertecken eller det här escape-tecknet. 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 Fillisteexempel. |
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 rekursiv är inställt på sant och mottagaren är ett filbaserat arkiv, kopieras eller skapas 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 . |
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 kopieringsscenario med binära filer. Standardvärdet: false. |
No |
| modifiedDatetimeStart | Filer filtreras baserat på attributet: senast ändrad. Filerna väljs om deras senaste ändringstid ligger inom tidsperioden mellan modifiedDatetimeStart och 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 senast ändrade attribut är större än eller modifiedDatetimeStart modifiedDatetimeEnd lika med datetime-värdet. När har ett datetime-värde men är NULL , väljs de filer vars senast ändrade attribut är mindre modifiedDatetimeEnd modifiedDatetimeStart än datetime-värdet. 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 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 under sö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 partitionens rotsökväg som "root/folder/year=2020" genererar kopieringsaktiviteten ytterligare två kolumner och med värdet month day "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 bara ett värde när du vill begränsa samtidiga anslutningar. | No |
Anteckning
För Formatet Parquet/avgränsad text stöds BlobSource-typen för den aktiviteten Kopiera som anges i nästa avsnitt fortfarande 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, som skapas automatiskt när Storage Analytics har aktiverats för ett lagringskonto, visas inte när en $logs containerliståtgärd utförs via användargränssnittet. Filsökvägen måste anges direkt för din datafabrik eller Synapse-pipeline för att använda filer från $logs containern.
Blob Storage som mottagare
Azure Data Factory har stöd för 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 kopierings mottagare:
| Egenskap | Beskrivning | Krävs |
|---|---|---|
| typ | Egenskapen type under måste vara inställd på storeSettings AzureBlobStorageWriteSettings . |
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 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: FolderAI 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 File2 Undermapp1 Fil3 Fil4 Fil5 |
Målmappen, Folder1, skapas med samma struktur som källan: Mapp1 Fil1 File2 Undermapp1 Fil3 Fil4 Fil5 |
| true | flattenHierarchy | Mapp1 Fil1 File2 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 File2 Undermapp1 Fil3 Fil4 Fil5 |
Målmappen, Folder1, skapas med följande struktur: Mapp1 Fil1 + fil2 + fil3 + fil4 + fil5-innehåll sammanfogas i en fil med ett automatiskt genererat filnamn. |
| falskt | preserveHierarchy | Mapp1 Fil1 File2 Undermapp1 Fil3 Fil4 Fil5 |
Målmappen, Folder1, skapas med följande struktur: Mapp1 Fil1 File2 Undermapp1 med File3, File4 och File5 hämtas inte. |
| falskt | flattenHierarchy | Mapp1 Fil1 File2 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 File2 Undermapp1 Fil3 Fil4 Fil5 |
Målmappen, Folder1, skapas med följande struktur: Mapp1 Fil1 + fil2-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 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älltransformering i mappning av dataflöde och Sink 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.
Sökvägar med jokertecken: Om du använder 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/**/*.csvHämtar alla .csv filer under /data/sales./data/sales/20??/**/Hämtar alla filer under 1900-talet./data/sales/*/*/*.csvHämtar .csv filer två nivåer under /data/sales./data/sales/2004/*/12/[XY]1?.csvHä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 key=value 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.
Använd inställningen Partitionsrotsökväg för att definiera vilken mappstrukturens översta nivå är. 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.
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.
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.
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].csvexempel , och såloans1.csvloans2.csvvidare. - 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 fileName preserveHierarchy mönster: "Data.[ aktivitetskörnings-ID GUID]. [GUID om FlattenHierarchy]. [format om konfigurerat]. [komprimering om konfigurerat]". 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 ligger inom tidsperioden mellan modifiedDatetimeStart och 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 , väljs de filer vars senaste ändrade attribut är större än eller modifiedDatetimeStart modifiedDatetimeEnd lika med NULL datetime-värdet. När har ett datetime-värde men är , markeras de filer vars senaste ändrade attribut är mindre modifiedDatetimeEnd modifiedDatetimeStart än NULL datetime-värdet. |
No |
| modifiedDatetimeEnd | Filer filtreras baserat på attributet : senast ändrad. Filerna väljs om deras senaste ändringstid ligger inom tidsperioden mellan modifiedDatetimeStart och 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 , väljs de filer vars senaste ändrade attribut är större än eller modifiedDatetimeStart modifiedDatetimeEnd lika med NULL datetime-värdet. När har ett datetime-värde men är , markeras de filer vars senaste ändrade attribut är mindre modifiedDatetimeEnd modifiedDatetimeStart ä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, OrcFormat och 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. Typer som stöds är GZip, Deflate, BZip2 och 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å recursive true 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"
}
}
}
]
Nästa steg
En lista över datalager som stöds aktiviteten Kopiera som källor och mottagare finns i Datalager som stöds.