Share via


Gegevens kopiëren van of naar Azure Files met behulp van Azure Data Factory

VAN TOEPASSING OP: Azure Data Factory Azure Synapse Analytics

Tip

Probeer Data Factory uit in Microsoft Fabric, een alles-in-één analyseoplossing voor ondernemingen. Microsoft Fabric omvat alles, van gegevensverplaatsing tot gegevenswetenschap, realtime analyses, business intelligence en rapportage. Meer informatie over het gratis starten van een nieuwe proefversie .

In dit artikel wordt beschreven hoe u gegevens kopieert naar en van Azure Files. Lees het inleidende artikel voor meer informatie over Azure Data Factory.

Ondersteunde mogelijkheden

Deze Azure Files-connector wordt ondersteund voor de volgende mogelijkheden:

Ondersteunde mogelijkheden IR Beheerd privé-eindpunt
Copy-activiteit (bron/sink) (1) (2) ✓ Opslagaccount V1 uitsluiten
Activiteit Lookup (1) (2) ✓ Opslagaccount V1 uitsluiten
GetMetadata-activiteit (1) (2) ✓ Opslagaccount V1 uitsluiten
Activiteit verwijderen (1) (2) ✓ Opslagaccount V1 uitsluiten

(1) Azure Integration Runtime (2) Zelf-hostende Integration Runtime

U kunt gegevens van Azure Files kopiëren naar elk ondersteund sinkgegevensarchief of gegevens kopiëren uit een ondersteund brongegevensarchief naar Azure Files. Zie Ondersteunde gegevensarchieven en -indelingen voor een lijst met gegevensarchieven die door de kopieeractiviteit worden ondersteund als bronnen en sinks.

Deze Azure Files-connector ondersteunt met name:

Aan de slag

Als u de kopieeractiviteit wilt uitvoeren met een pijplijn, kunt u een van de volgende hulpprogramma's of SDK's gebruiken:

Een gekoppelde service maken in Azure Files met behulp van de gebruikersinterface

Gebruik de volgende stappen om een gekoppelde service te maken voor Azure Files in de gebruikersinterface van Azure Portal.

  1. Blader naar het tabblad Beheren in uw Azure Data Factory- of Synapse-werkruimte en selecteer Gekoppelde services en klik vervolgens op Nieuw:

  2. Zoek het bestand en selecteer de connector voor Azure Files met het label Azure File Storage.

    Schermopname van de Azure File Storage-connector.

  3. Configureer de servicedetails, test de verbinding en maak de nieuwe gekoppelde service.

    Schermopname van de configuratie van de gekoppelde service voor een Azure File Storage.

Configuratiedetails van connector

De volgende secties bevatten details over eigenschappen die worden gebruikt om entiteiten te definiëren die specifiek zijn voor Azure Files.

Eigenschappen van gekoppelde service

De Azure Files-connector ondersteunt de volgende verificatietypen. Zie de bijbehorende secties voor meer informatie.

Notitie

Als u een gekoppelde Azure Files-service gebruikt met een verouderd model, waarbij in de ADF-ontwerpgebruikersinterface 'Basisverificatie' wordt weergegeven, wordt deze nog steeds ondersteund terwijl u wordt voorgesteld om het nieuwe model in de toekomst te gebruiken. Het verouderde model draagt gegevens over van/naar opslag via Server Message Block (SMB), terwijl het nieuwe model gebruikmaakt van de opslag-SDK die een betere doorvoer heeft. Als u een upgrade wilt uitvoeren, kunt u uw gekoppelde service bewerken om de verificatiemethode over te schakelen naar 'Accountsleutel' of 'SAS-URI'; geen wijziging nodig voor de gegevensset of kopieeractiviteit.

Verificatie van accountsleutels

Data Factory ondersteunt de volgende eigenschappen voor verificatie van azure Files-accountsleutels:

Eigenschappen Beschrijving Vereist
type De typeeigenschap moet worden ingesteld op: AzureFileStorage. Ja
connectionString Geef de informatie op die nodig is om verbinding te maken met Azure Files.
U kunt de accountsleutel ook in Azure Key Vault plaatsen en de accountKey configuratie uit de verbindingsreeks halen. Zie de volgende voorbeelden en het artikel Store-referenties in Azure Key Vault voor meer informatie.
Ja
fileShare Geef de bestandsshare op. Ja
momentopname Geef de datum op van de momentopname van de bestandsshare als u wilt kopiëren vanuit een momentopname. Nee
connectVia De Integration Runtime die moet worden gebruikt om verbinding te maken met het gegevensarchief. U kunt Azure Integration Runtime of zelf-hostende Integration Runtime gebruiken (als uw gegevensarchief zich in een privénetwerk bevindt). Als dit niet is opgegeven, wordt de standaard Azure Integration Runtime gebruikt. Nee

Voorbeeld:

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

Voorbeeld: de accountsleutel opslaan in Azure Key Vault

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

Shared Access Signature Authentication

Een SAS (een handtekening voor gedeelde toegang) biedt gedelegeerde toegang tot resources in uw opslagaccount. U kunt een handtekening voor gedeelde toegang gebruiken om een client gedurende een opgegeven tijd beperkte machtigingen te verlenen aan objecten in uw opslagaccount. Zie Handtekeningen voor gedeelde toegang voor meer informatie over handtekeningen voor gedeelde toegang : Inzicht in het shared access signature-model.

De service ondersteunt de volgende eigenschappen voor het gebruik van shared access Signature-verificatie:

Eigenschappen Beschrijving Vereist
type De typeeigenschap moet worden ingesteld op: AzureFileStorage. Ja
sasUri Geef de handtekening-URI voor gedeelde toegang op voor de resources.
Markeer dit veld als SecureString om het veilig op te slaan. U kunt het SAS-token ook in Azure Key Vault plaatsen om automatisch draaien te gebruiken en het tokengedeelte te verwijderen. Zie de volgende voorbeelden en sla referenties op in Azure Key Vault voor meer informatie.
Ja
fileShare Geef de bestandsshare op. Ja
momentopname Geef de datum op van de momentopname van de bestandsshare als u wilt kopiëren vanuit een momentopname. Nee
connectVia De Integration Runtime die moet worden gebruikt om verbinding te maken met het gegevensarchief. U kunt Azure Integration Runtime of zelf-hostende Integration Runtime gebruiken (als uw gegevensarchief zich in een privénetwerk bevindt). Als dit niet is opgegeven, wordt de standaard Azure Integration Runtime gebruikt. Nee

Voorbeeld:

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

Voorbeeld: het SAS-token opslaan in Azure Key Vault

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

Door het systeem toegewezen beheerde identiteitverificatie

Een data factory of Synapse-pijplijn kan worden gekoppeld aan een door het systeem toegewezen beheerde identiteit voor Azure-resources, die die resource vertegenwoordigt voor verificatie bij andere Azure-services. U kunt deze door het systeem toegewezen beheerde identiteit gebruiken voor Azure Files-verificatie. Zie Beheerde identiteiten voor Azure-resources voor meer informatie over beheerde identiteiten voor Azure-resources.

Voer de volgende stappen uit om door het systeem toegewezen beheerde identiteitverificatie te gebruiken:

  1. Haal door het systeem toegewezen beheerde identiteitsgegevens op door de waarde te kopiëren van de door het systeem toegewezen object-id voor beheerde identiteit die samen met uw factory of Synapse-werkruimte is gegenereerd.

  2. Verdeel de beheerde identiteit in Azure Files. Zie dit artikel voor meer informatie over de rollen.

    • Als bron verleent u in Toegangsbeheer (IAM) ten minste de rol SMB-sharelezer voor opslagbestandsgegevens.
    • Als sink verleent u in Toegangsbeheer (IAM) ten minste de rol Inzender voor opslagbestandsgegevens voor SMB-share.

Deze eigenschappen worden ondersteund voor een gekoppelde Azure Files-service:

Eigenschappen Beschrijving Vereist
type De typeeigenschap moet worden ingesteld op AzureFileStorage. Ja
serviceEndpoint Geef het Service-eindpunt van Azure Files op met het patroon .https://<accountName>.file.core.windows.net/ Ja
fileShare Geef de bestandsshare op. Ja
momentopname Geef de datum op van de momentopname van de bestandsshare als u wilt kopiëren vanuit een momentopname. Nee
connectVia De Integration Runtime die moet worden gebruikt om verbinding te maken met het gegevensarchief. U kunt Azure Integration Runtime gebruiken. Als dit niet is opgegeven, wordt de standaard Azure Integration Runtime gebruikt. Nr.

Notitie

Door het systeem toegewezen beheerde identiteitverificatie wordt alleen ondersteund door Azure Integration Runtime.

Voorbeeld:

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

Door de gebruiker toegewezen beheerde identiteitverificatie

Een data factory kan worden toegewezen met een of meerdere door de gebruiker toegewezen beheerde identiteiten. U kunt deze door de gebruiker toegewezen beheerde identiteit gebruiken voor Azure Files-verificatie, waarmee u gegevens kunt openen en kopiëren van of naar Azure Files. Zie Beheerde identiteiten voor Azure-resources voor meer informatie over beheerde identiteiten voor Azure-resources.

Volg deze stappen om door de gebruiker toegewezen beheerde identiteitverificatie te gebruiken:

  1. Maak een of meerdere door de gebruiker toegewezen beheerde identiteiten en verwijs machtigingen in Azure Files. Zie dit artikel voor meer informatie over de rollen.

    • Als bron verleent u in Toegangsbeheer (IAM) ten minste de rol SMB-sharelezer voor opslagbestandsgegevens.
    • Als sink verleent u in Toegangsbeheer (IAM) ten minste de rol Inzender voor opslagbestandsgegevens voor SMB-share.
  2. Wijs een of meerdere door de gebruiker toegewezen beheerde identiteiten toe aan uw data factory en maak referenties voor elke door de gebruiker toegewezen beheerde identiteit.

Deze eigenschappen worden ondersteund voor een gekoppelde Azure Files-service:

Eigenschappen Beschrijving Vereist
type De typeeigenschap moet worden ingesteld op AzureFileStorage. Ja
serviceEndpoint Geef het Service-eindpunt van Azure Files op met het patroon .https://<accountName>.file.core.windows.net/ Ja
aanmeldingsgegevens Geef de door de gebruiker toegewezen beheerde identiteit op als referentieobject. Ja
fileShare Geef de bestandsshare op. Ja
momentopname Geef de datum op van de momentopname van de bestandsshare als u wilt kopiëren vanuit een momentopname. Nee
connectVia De Integration Runtime die moet worden gebruikt om verbinding te maken met het gegevensarchief. U kunt Azure Integration Runtime of zelf-hostende Integration Runtime gebruiken (als uw gegevensarchief zich in een privénetwerk bevindt). Als dit niet is opgegeven, wordt de standaard Azure Integration Runtime gebruikt. Nee

Voorbeeld:

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

Verouderd model

Eigenschappen Beschrijving Vereist
type De typeeigenschap moet worden ingesteld op: AzureFileStorage. Ja
host Hiermee geeft u het Azure Files-eindpunt op als:
-Gebruikersinterface gebruiken: opgeven \\<storage name>.file.core.windows.net\<file service name>
- JSON gebruiken: "host": "\\\\<storage name>.file.core.windows.net\\<file service name>".
Ja
userid Geef de gebruiker op om toegang te krijgen tot De Azure Files als:
-Gebruikersinterface gebruiken: opgeven AZURE\<storage name>
-JSON gebruiken: "userid": "AZURE\\<storage name>".
Ja
password Geef de toegangssleutel voor opslag op. Markeer dit veld als SecureString om het veilig op te slaan in Data Factory of verwijs naar een geheim dat is opgeslagen in Azure Key Vault. Ja
connectVia De Integration Runtime die moet worden gebruikt om verbinding te maken met het gegevensarchief. U kunt Azure Integration Runtime of zelf-hostende Integration Runtime gebruiken (als uw gegevensarchief zich in een privénetwerk bevindt). Als dit niet is opgegeven, wordt de standaard Azure Integration Runtime gebruikt. Nee voor bron, Ja voor sink

Voorbeeld:

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

Eigenschappen van gegevensset

Zie het artikel Gegevenssets voor een volledige lijst met secties en eigenschappen die beschikbaar zijn voor het definiëren van gegevenssets .

Azure Data Factory ondersteunt de volgende bestandsindelingen. Raadpleeg elk artikel voor op indeling gebaseerde instellingen.

De volgende eigenschappen worden ondersteund voor Azure Files onder location instellingen in gegevensset op basis van indeling:

Eigenschappen Beschrijving Vereist
type De typeeigenschap onder location in de gegevensset moet worden ingesteld op AzureFileStorageLocation. Ja
folderPath Het pad naar de map. Als u jokertekens wilt gebruiken om de map te filteren, slaat u deze instelling over en geeft u deze op in de instellingen van de activiteitsbron. Nee
fileName De bestandsnaam onder het opgegeven folderPath. Als u jokertekens wilt gebruiken om bestanden te filteren, slaat u deze instelling over en geeft u deze op in de instellingen van de activiteitsbron. Nee

Voorbeeld:

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

Eigenschappen van de kopieeractiviteit

Zie het artikel Pijplijnen voor een volledige lijst met secties en eigenschappen die beschikbaar zijn voor het definiëren van activiteiten. Deze sectie bevat een lijst met eigenschappen die worden ondersteund door azure Files-bron en -sink.

Azure Files als bron

Azure Data Factory ondersteunt de volgende bestandsindelingen. Raadpleeg elk artikel voor op indeling gebaseerde instellingen.

De volgende eigenschappen worden ondersteund voor Azure Files onder storeSettings instellingen in de op indeling gebaseerde kopieerbron:

Eigenschappen Beschrijving Vereist
type De typeeigenschap onder storeSettings moet worden ingesteld op AzureFileStorageReadSettings. Ja
Zoek de bestanden die u wilt kopiëren:
OPTIE 1: statisch pad
Kopieer vanuit het opgegeven map-/bestandspad dat is opgegeven in de gegevensset. Als u alle bestanden uit een map wilt kopiëren, moet u ook opgeven wildcardFileName als *.
OPTIE 2: bestandsvoorvoegsel
-voorvoegsel
Voorvoegsel voor de bestandsnaam onder de opgegeven bestandsshare die is geconfigureerd in een gegevensset om bronbestanden te filteren. Bestanden met een naam die beginnen met fileshare_in_linked_service/this_prefix zijn geselecteerd. Het maakt gebruik van het servicefilter voor Azure Files, wat betere prestaties biedt dan een jokertekenfilter. Deze functie wordt niet ondersteund wanneer u een verouderd gekoppeld servicemodel gebruikt. Nee
OPTIE 3: jokerteken
- jokertekenFolderPath
Het pad naar de map met jokertekens om bronmappen te filteren.
Toegestane jokertekens zijn: * (komt overeen met nul of meer tekens) en ? (komt overeen met nul of één teken); gebruik ^ deze optie om te ontsnappen als de naam van de map een jokerteken heeft of dit escape-teken bevat.
Bekijk meer voorbeelden in voorbeelden van mappen en bestandsfilters.
Nee
OPTIE 3: jokerteken
- wildcardFileName
De bestandsnaam met jokertekens onder het opgegeven folderPath/wildcardFolderPath om bronbestanden te filteren.
Toegestane jokertekens zijn: * (komt overeen met nul of meer tekens) en ? (komt overeen met nul of één teken); gebruik ^ deze optie om te ontsnappen als uw werkelijke bestandsnaam jokertekens of dit escapeteken bevat. Bekijk meer voorbeelden in voorbeelden van mappen en bestandsfilters.
Ja
OPTIE 4: een lijst met bestanden
- fileListPath
Geeft aan om een bepaalde bestandsset te kopiëren. Wijs een tekstbestand aan met een lijst met bestanden die u wilt kopiëren, één bestand per regel. Dit is het relatieve pad naar het pad dat is geconfigureerd in de gegevensset.
Wanneer u deze optie gebruikt, geeft u geen bestandsnaam op in de gegevensset. Bekijk meer voorbeelden in voorbeelden van de lijst met bestanden.
Nee
Aanvullende instellingen:
recursief Hiermee wordt aangegeven of de gegevens recursief worden gelezen uit de submappen of alleen uit de opgegeven map. Wanneer recursief is ingesteld op true en de sink een archief op basis van bestanden is, wordt een lege map of submap niet gekopieerd of gemaakt in de sink.
Toegestane waarden zijn waar (standaard) en onwaar.
Deze eigenschap is niet van toepassing wanneer u configureert fileListPath.
Nee
deleteFilesAfterCompletion Geeft aan of de binaire bestanden worden verwijderd uit het bronarchief nadat ze naar het doelarchief zijn verplaatst. Het verwijderen van bestanden is per bestand, dus wanneer de kopieeractiviteit mislukt, ziet u dat sommige bestanden al naar het doel zijn gekopieerd en uit de bron zijn verwijderd, terwijl anderen nog steeds in het bronarchief blijven.
Deze eigenschap is alleen geldig in het scenario voor het kopiëren van binaire bestanden. De standaardwaarde: false.
Nee
modifiedDatetimeStart Bestandenfilter op basis van het kenmerk: Laatst gewijzigd.
De bestanden worden geselecteerd als de laatste wijzigingstijd groter is dan of gelijk is aan modifiedDatetimeStart en kleiner is dan modifiedDatetimeEnd. De tijd wordt toegepast op utc-tijdzone in de notatie 2018-12-01T05:00:00Z.
De eigenschappen kunnen NULL zijn, wat betekent dat er geen bestandskenmerkfilter wordt toegepast op de gegevensset. Wanneer modifiedDatetimeStart een datum/tijd-waarde heeft maar modifiedDatetimeEnd NULL is, betekent dit dat de bestanden waarvan het laatst gewijzigde kenmerk groter is dan of gelijk is aan de datum/tijd-waarde worden geselecteerd. Wanneer modifiedDatetimeEnd de datum/tijd-waarde is, maar modifiedDatetimeStart NULL is, betekent dit dat de bestanden waarvan het kenmerk voor het laatst is gewijzigd kleiner is dan de datum/tijd-waarde wordt geselecteerd.
Deze eigenschap is niet van toepassing wanneer u configureert fileListPath.
Nee
modifiedDatetimeEnd Hetzelfde als hierboven. Nee
enablePartitionDiscovery Geef voor bestanden die zijn gepartitioneerd op of de partities van het bestandspad moeten worden geparseerd en als extra bronkolommen moeten worden toegevoegd.
Toegestane waarden zijn onwaar (standaard) en waar.
Nee
partitionRootPath Wanneer partitiedetectie is ingeschakeld, geeft u het absolute hoofdpad op om gepartitioneerde mappen als gegevenskolommen te lezen.

Als deze niet is opgegeven, is dit standaard het volgende:
- Wanneer u bestandspad gebruikt in de gegevensset of lijst met bestanden op de bron, is het pad naar de partitiehoofdmap dat is geconfigureerd in de gegevensset.
- Wanneer u het filter voor jokertekens gebruikt, is partitiehoofdpad het subpad vóór het eerste jokerteken.

Stel dat u het pad in de gegevensset configureert als 'root/folder/year=2020/month=08/day=27':
- Als u partitiehoofdpad opgeeft als root/folder/year=2020, genereert de kopieeractiviteit twee kolommen month en day met de waarde '08' en '27', naast de kolommen in de bestanden.
- Als het hoofdpad van de partitie niet is opgegeven, wordt er geen extra kolom gegenereerd.
Nee
maxConcurrentConnections De bovengrens van gelijktijdige verbindingen die tijdens de uitvoering van de activiteit tot stand zijn gebracht met het gegevensarchief. Geef alleen een waarde op wanneer u gelijktijdige verbindingen wilt beperken. Nee

Voorbeeld:

"activities":[
    {
        "name": "CopyFromAzureFileStorage",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<Delimited text input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "DelimitedTextSource",
                "formatSettings":{
                    "type": "DelimitedTextReadSettings",
                    "skipLineCount": 10
                },
                "storeSettings":{
                    "type": "AzureFileStorageReadSettings",
                    "recursive": true,
                    "wildcardFolderPath": "myfolder*A",
                    "wildcardFileName": "*.csv"
                }
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Azure Files als sink

Azure Data Factory ondersteunt de volgende bestandsindelingen. Raadpleeg elk artikel voor op indeling gebaseerde instellingen.

De volgende eigenschappen worden ondersteund voor Azure Files onder storeSettings instellingen in de op indeling gebaseerde kopieersink:

Eigenschappen Beschrijving Vereist
type De typeeigenschap onder storeSettings moet worden ingesteld op AzureFileStorageWriteSettings. Ja
copyBehavior Definieert het kopieergedrag wanneer de bron bestanden is uit een gegevensarchief op basis van bestanden.

Toegestane waarden zijn:
- PreserveHierarchy (standaard): behoudt de bestandshiërarchie in de doelmap. Het relatieve pad van het bronbestand naar de bronmap is identiek aan het relatieve pad van het doelbestand naar de doelmap.
- FlattenHierarchy: Alle bestanden uit de bronmap bevinden zich op het eerste niveau van de doelmap. De doelbestanden hebben automatisch gegenereerde namen.
- MergeFiles: hiermee worden alle bestanden uit de bronmap samengevoegd tot één bestand. Als de bestandsnaam is opgegeven, is de naam van het samengevoegde bestand de opgegeven naam. Anders is het een automatisch gegenereerde bestandsnaam.
Nee
maxConcurrentConnections De bovengrens van gelijktijdige verbindingen die tijdens de uitvoering van de activiteit tot stand zijn gebracht met het gegevensarchief. Geef alleen een waarde op wanneer u gelijktijdige verbindingen wilt beperken. Nee

Voorbeeld:

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

Voorbeelden van map- en bestandsfilters

In deze sectie wordt het resulterende gedrag van het mappad en de bestandsnaam met jokertekenfilters beschreven.

folderPath fileName recursief Structuur van bronmap en filterresultaat (bestanden vetgedrukt worden opgehaald)
Folder* (leeg, standaard gebruiken) false MapA
    File1.csv
    File2.json
    Submap1
        File3.csv
        File4.json
        File5.csv
AnotherFolderB
    File6.csv
Folder* (leeg, standaard gebruiken) true MapA
    File1.csv
    File2.json
    Submap1
        File3.csv
        File4.json
        File5.csv
AnotherFolderB
    File6.csv
Folder* *.csv false MapA
    File1.csv
    File2.json
    Submap1
        File3.csv
        File4.json
        File5.csv
AnotherFolderB
    File6.csv
Folder* *.csv true MapA
    File1.csv
    File2.json
    Submap1
        File3.csv
        File4.json
        File5.csv
AnotherFolderB
    File6.csv

Voorbeelden van bestandslijsten

In deze sectie wordt het resulterende gedrag beschreven van het gebruik van bestandslijstpad in bron van kopieeractiviteit.

Ervan uitgaande dat u de volgende bronmapstructuur hebt en de bestanden vetgedrukt wilt kopiëren:

Voorbeeldbronstructuur Inhoud in FileListToCopy.txt Configuratie
wortel
    MapA
        File1.csv
        File2.json
        Submap1
            File3.csv
            File4.json
            File5.csv
    Metagegevens
        FileListToCopy.txt
File1.csv
Submap1/File3.csv
Submap1/File5.csv
In gegevensset:
- Mappad: root/FolderA

In bron van kopieeractiviteit:
- Pad naar bestandslijst: root/Metadata/FileListToCopy.txt

Het bestandslijstpad verwijst naar een tekstbestand in hetzelfde gegevensarchief met een lijst met bestanden die u wilt kopiëren, één bestand per regel met het relatieve pad naar het pad dat is geconfigureerd in de gegevensset.

recursieve en copyBehavior-voorbeelden

In deze sectie wordt het resulterende gedrag van de kopieerbewerking beschreven voor verschillende combinaties van recursieve en copyBehavior-waarden.

recursief copyBehavior Structuur van bronmap Resulterend doel
true preserveHierarchy Map1
    Bestand1
    Bestand2
    Submap1
        Bestand3
        Bestand4
        Bestand5
De doelmap Map1 wordt gemaakt met dezelfde structuur als de bron:

Map1
    Bestand1
    Bestand2
    Submap1
        Bestand3
        Bestand4
        Bestand5.
true flattenHierarchy Map1
    Bestand1
    Bestand2
    Submap1
        Bestand3
        Bestand4
        Bestand5
De doelmap1 wordt gemaakt met de volgende structuur:

Map1
    automatisch gegenereerde naam voor Bestand1
    automatisch gegenereerde naam voor File2
    automatisch gegenereerde naam voor File3
    automatisch gegenereerde naam voor File4
    automatisch gegenereerde naam voor File5
true mergeFiles Map1
    Bestand1
    Bestand2
    Submap1
        Bestand3
        Bestand4
        Bestand5
De doelmap1 wordt gemaakt met de volgende structuur:

Map1
    File1 + File2 + File3 + File4 + File 5-inhoud worden samengevoegd in één bestand met automatisch gegenereerde bestandsnaam
false preserveHierarchy Map1
    Bestand1
    Bestand2
    Submap1
        Bestand3
        Bestand4
        Bestand5
De doelmap Map1 wordt gemaakt met de volgende structuur

Map1
    Bestand1
    Bestand2

Submap1 met File3, File4 en File5 worden niet opgehaald.
false flattenHierarchy Map1
    Bestand1
    Bestand2
    Submap1
        Bestand3
        Bestand4
        Bestand5
De doelmap Map1 wordt gemaakt met de volgende structuur

Map1
    automatisch gegenereerde naam voor Bestand1
    automatisch gegenereerde naam voor File2

Submap1 met File3, File4 en File5 worden niet opgehaald.
false mergeFiles Map1
    Bestand1
    Bestand2
    Submap1
        Bestand3
        Bestand4
        Bestand5
De doelmap Map1 wordt gemaakt met de volgende structuur

Map1
    De inhoud van Bestand1 + File2 wordt samengevoegd in één bestand met een automatisch gegenereerde bestandsnaam. automatisch gegenereerde naam voor Bestand1

Submap1 met File3, File4 en File5 worden niet opgehaald.

Eigenschappen van opzoekactiviteit

Als u meer wilt weten over de eigenschappen, controleert u de lookup-activiteit.

Eigenschappen van GetMetadata-activiteit

Als u meer wilt weten over de eigenschappen, controleert u de Activiteit GetMetadata

Activiteitseigenschappen verwijderen

Als u meer wilt weten over de eigenschappen, controleert u De activiteit Verwijderen

Verouderde modellen

Notitie

De volgende modellen worden nog steeds ondersteund voor compatibiliteit met eerdere versies. U wordt aangeraden het nieuwe model te gebruiken dat in de bovenstaande secties wordt genoemd en de ontwerpgebruikersinterface is overgeschakeld naar het genereren van het nieuwe model.

Verouderd gegevenssetmodel

Eigenschappen Beschrijving Vereist
type De typeeigenschap van de gegevensset moet worden ingesteld op: FileShare Ja
folderPath Pad naar de map.

Jokertekenfilters worden ondersteund, toegestane jokertekens zijn: * (komt overeen met nul of meer tekens) en ? (komt overeen met nul of één teken); gebruik ^ dit om te escapen als uw werkelijke mapnaam jokertekens of dit escapeteken bevat.

Voorbeelden: rootfolder/submap/, zie meer voorbeelden in voorbeelden van map- en bestandsfilters.
Ja
fileName Naam of jokertekenfilter voor de bestanden onder het opgegeven folderPath. Als u geen waarde voor deze eigenschap opgeeft, verwijst de gegevensset naar alle bestanden in de map.

Voor filter zijn toegestane jokertekens: * (komt overeen met nul of meer tekens) en ? (komt overeen met nul of één teken).
- Voorbeeld 1: "fileName": "*.csv"
- Voorbeeld 2: "fileName": "???20180427.txt"
Gebruik ^ deze optie om te ontsnappen als uw werkelijke bestandsnaam een jokerteken of dit escapeteken bevat.

Wanneer fileName niet is opgegeven voor een uitvoergegevensset en preserveHierarchy niet is opgegeven in de activiteitssink, genereert de kopieeractiviteit automatisch de bestandsnaam met het volgende patroon: 'Data.[ ID-GUID van activiteitsuitvoering]. [GUID als FlattenHierarchy]. [notatie indien geconfigureerd]. [compressie indien geconfigureerd]", bijvoorbeeld 'Data.0a405f8a-93ff-4c6f-b3be-f69616f1df7a.txt.gz'; als u kopieert vanuit tabellaire bron met behulp van tabelnaam in plaats van een query, is het naampatroon '[tabelnaam].[ format]. [compressie indien geconfigureerd]", bijvoorbeeld 'MyTable.csv'.
Nee
modifiedDatetimeStart Bestandenfilter op basis van het kenmerk: Laatst gewijzigd. De bestanden worden geselecteerd als de laatste wijzigingstijd groter is dan of gelijk is aan modifiedDatetimeStart en kleiner is dan modifiedDatetimeEnd. De tijd wordt toegepast op utc-tijdzone in de notatie 2018-12-01T05:00:00Z.

Houd er rekening mee dat de algehele prestaties van gegevensverplaatsing worden beïnvloed door deze instelling in te schakelen wanneer u een bestandsfilter wilt uitvoeren op grote hoeveelheden bestanden.

De eigenschappen kunnen NULL zijn, wat betekent dat er geen bestandskenmerkfilter wordt toegepast op de gegevensset. Wanneer modifiedDatetimeStart een datum/tijd-waarde heeft maar modifiedDatetimeEnd NULL is, betekent dit dat de bestanden waarvan het laatst gewijzigde kenmerk groter is dan of gelijk is aan de datum/tijd-waarde worden geselecteerd. Wanneer modifiedDatetimeEnd de datum/tijd-waarde is, maar modifiedDatetimeStart NULL is, betekent dit dat de bestanden waarvan het kenmerk voor het laatst is gewijzigd kleiner is dan de datum/tijd-waarde wordt geselecteerd.
Nee
modifiedDatetimeEnd Bestandenfilter op basis van het kenmerk: Laatst gewijzigd. De bestanden worden geselecteerd als de laatste wijzigingstijd groter is dan of gelijk is aan modifiedDatetimeStart en kleiner is dan modifiedDatetimeEnd. De tijd wordt toegepast op utc-tijdzone in de notatie 2018-12-01T05:00:00Z.

Houd er rekening mee dat de algehele prestaties van gegevensverplaatsing worden beïnvloed door deze instelling in te schakelen wanneer u een bestandsfilter wilt uitvoeren op grote hoeveelheden bestanden.

De eigenschappen kunnen NULL zijn, wat betekent dat er geen bestandskenmerkfilter wordt toegepast op de gegevensset. Wanneer modifiedDatetimeStart een datum/tijd-waarde heeft maar modifiedDatetimeEnd NULL is, betekent dit dat de bestanden waarvan het laatst gewijzigde kenmerk groter is dan of gelijk is aan de datum/tijd-waarde worden geselecteerd. Wanneer modifiedDatetimeEnd de datum/tijd-waarde is, maar modifiedDatetimeStart NULL is, betekent dit dat de bestanden waarvan het kenmerk voor het laatst is gewijzigd kleiner is dan de datum/tijd-waarde wordt geselecteerd.
Nee
indeling Als u bestanden wilt kopiëren tussen bestandsarchieven (binaire kopie), slaat u de indelingssectie over in definities van invoer- en uitvoergegevenssets.

Als u bestanden met een specifieke indeling wilt parseren of genereren, worden de volgende bestandstypen ondersteund: TextFormat, JsonFormat, AvroFormat, OrcFormat, ParquetFormat. Stel de typeeigenschap onder opmaak in op een van deze waarden. Zie de secties Text Format, Json Format, Avro Format, Orc Format en Parquet Format voor meer informatie.
Nee (alleen voor binair kopieerscenario)
compressie Geef het type en het compressieniveau voor de gegevens op. Zie Ondersteunde bestandsindelingen en compressiecodecs voor meer informatie.
Ondersteunde typen zijn: GZip, Deflate, BZip2 en ZipDeflate.
Ondersteunde niveaus zijn: Optimaal en Snelst.
Nee

Tip

Als u alle bestanden onder een map wilt kopiëren, geeft u alleen folderPath op.
Als u één bestand met een bepaalde naam wilt kopiëren, geeft u folderPath op met maponderdeel en fileName met bestandsnaam.
Als u een subset van bestanden onder een map wilt kopiëren, geeft u folderPath op met maponderdeel en fileName met jokertekenfilter.

Notitie

Als u de eigenschap 'fileFilter' voor het bestandsfilter gebruikte, wordt deze nog steeds ondersteund terwijl u wordt aangeraden de nieuwe filterfunctie te gebruiken die in de toekomst wordt toegevoegd aan FileName.

Voorbeeld:

{
    "name": "AzureFileStorageDataset",
    "properties": {
        "type": "FileShare",
        "linkedServiceName":{
            "referenceName": "<Azure File Storage linked service name>",
            "type": "LinkedServiceReference"
        },
        "typeProperties": {
            "folderPath": "folder/subfolder/",
            "fileName": "*",
            "modifiedDatetimeStart": "2018-12-01T05:00:00Z",
            "modifiedDatetimeEnd": "2018-12-01T06:00:00Z",
            "format": {
                "type": "TextFormat",
                "columnDelimiter": ",",
                "rowDelimiter": "\n"
            },
            "compression": {
                "type": "GZip",
                "level": "Optimal"
            }
        }
    }
}

Bronmodel van verouderde kopieeractiviteit

Eigenschappen Beschrijving Vereist
type De typeeigenschap van de bron van de kopieeractiviteit moet worden ingesteld op: FileSystemSource Ja
recursief Geeft aan of de gegevens recursief worden gelezen uit de submappen of alleen uit de opgegeven map. Houd er rekening mee dat wanneer recursief is ingesteld op true en sink een archief op basis van bestanden is, wordt lege map/submap niet gekopieerd/gemaakt bij sink.
Toegestane waarden zijn: true (standaard), false
Nee
maxConcurrentConnections De bovengrens van gelijktijdige verbindingen die tijdens de uitvoering van de activiteit tot stand zijn gebracht met het gegevensarchief. Geef alleen een waarde op wanneer u gelijktijdige verbindingen wilt beperken. Nee

Voorbeeld:

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

Verouderd sinkmodel voor kopieeractiviteit

Eigenschappen Beschrijving Vereist
type De typeeigenschap van de sink van de kopieeractiviteit moet zijn ingesteld op: FileSystemSink Ja
copyBehavior Definieert het kopieergedrag wanneer de bron bestanden is uit een gegevensarchief op basis van bestanden.

Toegestane waarden zijn:
- PreserveHierarchy (standaard): behoudt de bestandshiërarchie in de doelmap. Het relatieve pad van het bronbestand naar de bronmap is identiek aan het relatieve pad van het doelbestand naar de doelmap.
- FlattenHierarchy: alle bestanden uit de bronmap bevinden zich op het eerste niveau van de doelmap. De doelbestanden hebben automatisch gegenereerde naam.
- MergeFiles: hiermee worden alle bestanden uit de bronmap samengevoegd tot één bestand. Als de bestandsnaam is opgegeven, is de naam van het samengevoegde bestand de opgegeven naam; anders zou automatisch gegenereerde bestandsnaam zijn.
Nee
maxConcurrentConnections De bovengrens van gelijktijdige verbindingen die tijdens de uitvoering van de activiteit tot stand zijn gebracht met het gegevensarchief. Geef alleen een waarde op wanneer u gelijktijdige verbindingen wilt beperken. Nee

Voorbeeld:

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

Zie ondersteunde gegevensarchieven voor een lijst met gegevensarchieven die worden ondersteund als bronnen en sinks door de kopieeractiviteit.