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:
- Bestanden kopiëren met behulp van sas-verificaties (Shared Access Signature) voor accounts of services.
- Bestanden als zodanig kopiëren of parseren/genereren van bestanden met de ondersteunde bestandsindelingen en compressiecodecs.
Aan de slag
Als u de kopieeractiviteit wilt uitvoeren met een pijplijn, kunt u een van de volgende hulpprogramma's of SDK's gebruiken:
- Het hulpprogramma voor het kopiëren van gegevens
- Azure Portal
- De .NET-SDK
- De Python-SDK
- Azure PowerShell
- De REST API
- Een Azure Resource Manager-sjabloon
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.
Blader naar het tabblad Beheren in uw Azure Data Factory- of Synapse-werkruimte en selecteer Gekoppelde services en klik vervolgens op Nieuw:
Zoek het bestand en selecteer de connector voor Azure Files met het label Azure File Storage.
Configureer de servicedetails, test de verbinding en maak de nieuwe gekoppelde service.
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.
- Verificatie van accountsleutels
- Shared Access Signature Authentication
- Door het systeem toegewezen beheerde identiteitverificatie
- Door de gebruiker toegewezen beheerde identiteitverificatie
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:
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.
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:
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.
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.
- Avro-indeling
- Binaire indeling
- Tekstindeling met scheidingstekens
- Excel-indeling
- JSON-indeling
- ORC-indeling
- Parquet-indeling
- XML-indeling
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.
- Avro-indeling
- Binaire indeling
- Tekstindeling met scheidingstekens
- Excel-indeling
- JSON-indeling
- ORC-indeling
- Parquet-indeling
- XML-indeling
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.
- Avro-indeling
- Binaire indeling
- Tekstindeling met scheidingstekens
- JSON-indeling
- ORC-indeling
- Parquet-indeling
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"
}
}
}
]
Gerelateerde inhoud
Zie ondersteunde gegevensarchieven voor een lijst met gegevensarchieven die worden ondersteund als bronnen en sinks door de kopieeractiviteit.