Condividi tramite


Copiare dati da o in un file system usando Azure Data Factory o Azure Synapse Analytics

SI APPLICA A: Azure Data Factory Azure Synapse Analytics

Suggerimento

Provare Data Factory in Microsoft Fabric, una soluzione di analisi all-in-one per le aziende. Microsoft Fabric copre tutto, dallo spostamento dati al data science, all'analisi in tempo reale, alla business intelligence e alla creazione di report. Vedere le informazioni su come iniziare una nuova prova gratuita!

Questo articolo illustra come copiare dati da e nel file system. Per altre informazioni, leggere l'articolo introduttivo per Azure Data Factory o Azure Synapse Analytics.

Funzionalità supportate

Il connettore del file system è supportato per le funzionalità seguenti:

Funzionalità supportate IR
Attività di copia (origine/sink) ① ②
Attività Lookup ① ②
Attività GetMetadata ① ②
Attività Delete ① ②

① Azure Integration Runtime ② Runtime di integrazione self-hosted

In particolare, il connettore file system supporta:

  • La copia di file da/in una condivisione file di rete. Per usare una condivisione file di Linux, installare Samba nel server Linux.
  • La copia di file usando l'autenticazione di Windows.
  • La copia di file così come sono o l'analisi/generazione di file con i formati di file supportati e i codec di compressione.

Prerequisiti

Se l'archivio dati si trova all'interno di una rete locale, una rete virtuale di Azure o un cloud privato virtuale di Amazon, è necessario configurare un runtime di integrazione self-hosted per connettersi.

Se l'archivio dati è un servizio dati del cloud gestito, è possibile usare Azure Integration Runtime. Se l'accesso è limitato solo agli indirizzi IP approvati nelle regole del firewall, è possibile aggiungere IP di Azure Integration Runtime nell'elenco Consentiti.

È anche possibile usare la funzionalitàruntime di integrazione della rete virtuale gestita in Azure Data Factory per accedere alla rete locale senza installare e configurare un runtime di integrazione self-hosted.

Per altre informazioni sui meccanismi di sicurezza di rete e sulle opzioni supportate da Data Factory, vedere strategie di accesso ai dati.

Introduzione

Per eseguire l'attività di copia con una pipeline, è possibile usare uno degli strumenti o SDK seguenti:

Creare un servizio collegato del file system tramite l'interfaccia utente

Usare la procedura seguente per creare un servizio collegato del file system nell'interfaccia utente del portale di Azure.

  1. Passare alla scheda Gestisci nell'area di lavoro di Azure Data Factory o Synapse e selezionare Servizi collegati, quindi selezionare Nuovo:

  2. Cercare il file e selezionare il connettore del file system.

    Screenshot del connettore del file system.

  3. Configurare i dettagli del servizio, testare la connessione e creare il nuovo servizio collegato.

    Screenshot della configurazione per il servizio collegato del file system.

Dettagli di configurazione del connettore

Le sezioni seguenti riportano informazioni dettagliate sulle proprietà che vengono usate per definire entità delle pipeline di Data Factory e Synapse specifiche per un file system.

Proprietà del servizio collegato

Per il servizio collegato del file system sono supportate le proprietà seguenti:

Proprietà Descrizione Richiesto
type La proprietà type deve essere impostata su: FileServer.
host Specifica il percorso radice della cartella da copiare. Usare il carattere di escape "" per i caratteri speciali nella stringa. Per ottenere alcuni esempi, vedere Servizio collegato di esempio e definizioni del set di dati .
userId Specificare l'ID dell'utente che ha accesso al server.
password Specificare la password per l'utente (userId). Contrassegnare questo campo come SecureString per archiviarlo in modo sicuro oppure fare riferimento a un segreto archiviato in Azure Key Vault.
connectVia Il runtime di integrazione da usare per la connessione all'archivio dati. Per altre informazioni, vedere la sezione Prerequisiti. Se non specificato, viene usato il runtime di integrazione di Azure predefinito. No

Servizio collegato di esempio e definizioni del set di dati

Scenario "host" nella definizione del servizio collegato "folderPath" nella definizione del set di dati
Cartella condivisa remota:

Esempi: \\myserver\share\* o \\myserver\share\folder\subfolder\*
In JSON: \\\\myserver\\share
Nell'interfaccia utente: \\myserver\share
In JSON: .\\ o folder\\subfolder
Nell'interfaccia utente: .\ o folder\subfolder

Nota

Quando si crea tramite interfaccia utente, non è necessario immettere la doppia barra rovesciata (\\) per i caratteri di escape come con JSON, basta specificare la barra rovesciata singola.

Nota

La copia di file dal computer locale non è supportata in Azure Integration Runtime.
Fare riferimento alla riga di comando da qui per consentire l'accesso al computer locale in Runtime di integrazione self-hosted. È disabilitata per impostazione predefinita.

Esempio:

{
    "name": "FileLinkedService",
    "properties": {
        "type": "FileServer",
        "typeProperties": {
            "host": "<host>",
            "userId": "<domain>\\<user>",
            "password": {
                "type": "SecureString",
                "value": "<password>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Proprietà del set di dati

Per un elenco completo delle sezioni e delle proprietà disponibili per la definizione dei set di dati, vedere l'articolo Set di dati.

Azure Data Factory supporta i formati di file seguenti. Per impostazioni basate sui formati, fare riferimento ai singoli articoli.

Le proprietà seguenti sono supportate per il file system nelle impostazioni location nel set di dati basato sul formato:

Proprietà Descrizione Richiesto
type La proprietà tipo in location nel set di dati deve essere impostata su FileServerLocation.
folderPath Percorso della cartella. Se si intende usare un carattere jolly per filtrare le cartelle, ignorare questa impostazione e specificarla nelle impostazioni dell'origine dell'attività. È necessario configurare il percorso della condivisione file nell'ambiente Windows o Linux per esporre la cartella per la condivisione. No
fileName Nome del file nel percorso cartella specificato. Se si intende usare un carattere jolly per filtrare i file, ignorare questa impostazione e specificarla nelle impostazioni dell'origine dell'attività. No

Esempio:

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

Proprietà dell'attività di copia

Per un elenco completo delle sezioni e delle proprietà disponibili per la definizione delle attività, vedere l'articolo sulle pipeline. Questa sezione presenta un elenco delle proprietà supportate dall'origine e dal sink file system.

File system come origine

Azure Data Factory supporta i formati di file seguenti. Per impostazioni basate sui formati, fare riferimento ai singoli articoli.

Le proprietà seguenti sono supportate per il file system nelle impostazioni storeSettings nell'origine di copia basata sul formato:

Proprietà Descrizione Richiesto
type La proprietà type in storeSettings deve essere impostata su FileServerReadSettings.
Individuare i file da copiare:
OPZIONE 1: percorso statico
Copia dal percorso di cartella/file specificato nel set di dati. Se si vogliono copiare tutti i file da una cartella, specificare anche wildcardFileName come *.
OPZIONE 2: filtro lato server
- fileFilter
Filtro nativo lato file server, che offre prestazioni migliori rispetto al filtro con caratteri jolly dell'OPZIONE 3. Usare * per trovare la corrispondenza con zero o più caratteri e ? per trovare la corrispondenza con zero caratteri o un singolo carattere. Per altre informazioni sulla sintassi e sulle note, vedere Osservazioni in questa sezione. No
OPZIONE 3: filtro lato client
- wildcardFolderPath
Percorso della cartella con caratteri jolly per filtrare le cartelle di origine. Tale filtro viene eseguito all'interno del servizio, che enumera le cartelle/file nel percorso specificato e quindi applica il filtro con caratteri jolly.
I caratteri jolly consentiti sono: * (corrisponde a zero o più caratteri) e ? (corrisponde a zero caratteri o a un carattere singolo). Usare ^ come carattere di escape se il nome effettivo della cartella include caratteri jolly o questo carattere di escape.
Vedere altri esempi in Esempi di filtro file e cartelle.
No
OPZIONE 3: filtro lato client
- wildcardFileName
Nome file con caratteri jolly nel percorso folderPath/wildcardFolderPath specificato per filtrare i file di origine. Tale filtro viene eseguito all'interno del servizio, che enumera i file nel percorso specificato e quindi applica il filtro con caratteri jolly.
I caratteri jolly consentiti sono: * (corrispondenza di zero o più caratteri) e ? (corrispondenza di zero caratteri o di un carattere singolo). Usare ^ per il carattere escape se il nome effettivo del file include caratteri jolly o escape.
Vedere altri esempi in Esempi di filtro file e cartelle.
OPZIONE 3: un elenco di file
- fileListPath
Indica di copiare un determinato set di file. Puntare a un file di testo che include un elenco di file da copiare, un file per riga, che rappresenta il percorso relativo del percorso configurato nel set di dati.
Quando si usa questa opzione, non specificare il nome del file nel set di dati. Per altri esempi, vedere Esempi di elenco di file.
No
Impostazioni aggiuntive:
recursive Indica se i dati vengono letti in modo ricorsivo dalle cartelle secondarie o solo dalla cartella specificata. Quando la proprietà recursive è impostata su true e il sink è un archivio basato su file, una cartella o una sottocartella vuota non viene copiata o creata nel sink.
I valori consentiti sono true (predefinito) e false.
Questa proprietà non è applicabile quando si configura fileListPath.
No
deleteFilesAfterCompletion Indica se i file binari vengono eliminati dall'archivio di origine dopo il passaggio all'archivio di destinazione. L'eliminazione dei file avviene per file. Ciò significa che quando l'attività non riesce, alcuni file sono già stati copiati nella destinazione ed eliminati dall'origine, mentre altri rimangono ancora nell'archivio di origine.
Questa proprietà è valida solo nello scenario di copia dei file binari. Il valore predefinito è false.
No
modifiedDatetimeStart Filtro di file basato sull'attributo Ultima modifica.
I file vengono selezionati se l'ora dell'ultima modifica è maggiore o uguale a modifiedDatetimeStart e minore di modifiedDatetimeEnd. L'ora viene applicata al fuso orario UTC nel formato AAAA-MM-GGTHH:mm:ssZ.
Le proprietà possono essere NULL, a indicare che al set di dati non viene applicato alcun filtro di attributo di file. Quando modifiedDatetimeStart ha un valore datetime ma modifiedDatetimeEnd è NULL, vengono selezionati i file il attributo Ultima modifica è maggiore o uguale al valore datetime. Quando modifiedDatetimeEnd ha un valore datetime ma modifiedDatetimeStart è NULL vengono selezionati i file il cui attributo Ultima modifica è minore del valore datetime.
Questa proprietà non è applicabile quando si configura fileListPath.
No
modifiedDatetimeEnd Uguale a modifiedDateTimeStart. No
enablePartitionDiscovery Per i file partizionati, specificare se analizzare le partizioni dal percorso del file e aggiungerle come colonne di origine aggiuntive.
I valori consentiti sono false (predefinito) e true.
No
partitionRootPath Quando l'individuazione delle partizioni è abilitata, specificare il percorso radice assoluto per leggere le cartelle partizionate come colonne di dati.

Se non è specificato, per impostazione predefinita,
- Quando si usa il percorso del file nel set di dati o nell'elenco di file nell'origine, il percorso radice della partizione è il percorso configurato nel set di dati.
- Quando si usa il filtro delle cartelle con caratteri jolly, il percorso radice della partizione è il sottopercorso prima del primo carattere jolly.

Si supponga, ad esempio, di configurare il percorso nel set di dati come "root/folder/year=2020/month=08/day=27":
- Se si specifica il percorso radice della partizione come "root/folder/year=2020", l'attività di copia genera altre due colonne month e day con il valore "08" e "27" rispettivamente, oltre alle colonne all'interno dei file.
- Se il percorso radice della partizione non è specificato, non viene generata alcuna colonna aggiuntiva.
No
maxConcurrentConnections Limite massimo di connessioni simultanee stabilite all'archivio dati durante l'esecuzione dell'attività. Specificare un valore solo quando si desidera limitare le connessioni simultanee. No

Esempio:

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

File system come sink

Azure Data Factory supporta i formati di file seguenti. Per impostazioni basate sui formati, fare riferimento ai singoli articoli.

Nota

L'opzione MergeFiles copyBehavior è disponibile solo nelle pipeline di Azure Data Factory e non nelle pipeline di Synapse Analytics.

Le proprietà seguenti sono supportate per il file system nelle impostazioni storeSettings nel sink di copia basata sul formato:

Proprietà Descrizione Richiesto
type La proprietà type in storeSettings deve essere impostata su FileServerWriteSettings.
copyBehavior Definisce il comportamento di copia quando l'origine è costituita da file di un archivio dati basato su file.

I valori consentiti sono i seguenti:
- PreserveHierarchy (predefinito): mantiene la gerarchia dei file nella cartella di destinazione. Il percorso relativo del file di origine nella cartella di origine è identico al percorso relativo del file di destinazione nella cartella di destinazione.
- FlattenHierarchy: tutti i file della cartella di origine si trovano nel primo livello della cartella di destinazione. I nomi dei file di destinazione vengono generati automaticamente.
- MergeFiles: unisce tutti i file della cartella di origine in un solo file. Se si specifica il nome di file, il nome del file unito sarà il nome specificato. In caso contrario, verrà usato un nome di file generato automaticamente.
No
maxConcurrentConnections Limite massimo di connessioni simultanee stabilite all'archivio dati durante l'esecuzione dell'attività. Specificare un valore solo quando si desidera limitare le connessioni simultanee. No

Esempio:

"activities":[
    {
        "name": "CopyToFileSystem",
        "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": "FileServerWriteSettings",
                    "copyBehavior": "PreserveHierarchy"
                }
            }
        }
    }
]

Esempi di filtro file e cartelle

Questa sezione descrive il comportamento risultante del percorso cartella e del nome del file con i filtri con caratteri jolly.

folderPath fileName recursive Struttura delle cartelle di origine e risultato del filtro (i file in grassetto sono stati recuperati)
Folder* (vuoto, usare valore predefinito) false CartellaA
    File1.csv
    File2.json
    Sottocartella1
        File3.csv
        File4.json
        File5.csv
AltraCartellaB
    File6.csv
Folder* (vuoto, usare valore predefinito) true CartellaA
    File1.csv
    File2.json
    Sottocartella1
        File3.csv
        File4.json
        File5.csv
AltraCartellaB
    File6.csv
Folder* *.csv false CartellaA
    File1.csv
    File2.json
    Sottocartella1
        File3.csv
        File4.json
        File5.csv
AltraCartellaB
    File6.csv
Folder* *.csv true CartellaA
    File1.csv
    File2.json
    Sottocartella1
        File3.csv
        File4.json
        File5.csv
AltraCartellaB
    File6.csv

Esempi di elenco di file

Questa sezione descrive il comportamento risultante dall'uso del percorso di elenco file nell'origine dell'attività di copia.

Si supponga di disporre della struttura di cartelle di origine seguente e di voler copiare i file in grassetto:

Esempio di struttura di origine Contenuto in FileListToCopy.txt Configurazione della pipeline
root
    CartellaA
        File1.csv
        File2.json
        Sottocartella1
            File3.csv
            File4.json
            File5.csv
    Metadati UFX
        FileListToCopy.txt
File1.csv
Sottocartella1/File3.csv
Sottocartella1/File5.csv
Nel set di dati:
- Percorso cartella: root/FolderA

Nell'origine dell'attività Copy:
- Percorso elenco file: root/Metadata/FileListToCopy.txt

Il percorso dell'elenco di file punta a un file di testo nello stesso archivio dati. Include un elenco di file da copiare. Ogni riga contiene il percorso relativo del file in base al percorso radice configurato nel set di dati.

esempi ricorsivi e copyBehavior

In questa sezione viene descritto il comportamento derivante dell'operazione di copia per diverse combinazioni di valori ricorsivi e copyBehavior.

recursive copyBehavior Struttura della cartella di origine Destinazione risultante
true preserveHierarchy Cartella1
    File1
    File2
    Sottocartella1
        File3
        File4
        File5
La cartella di destinazione Cartella1 viene creata con la stessa struttura dell'origine:

Cartella1
    File1
    File2
    Sottocartella1
        File3
        File4
        File5.
true flattenHierarchy Cartella1
    File1
    File2
    Sottocartella1
        File3
        File4
        File5
La Cartella1 di destinazione viene creata con la struttura seguente:

Cartella1
    Nome generato automaticamente per File1
    Nome generato automaticamente per File2
    Nome generato automaticamente per File3
    Nome generato automaticamente per File4
    Nome generato automaticamente per File5
true mergeFiles Cartella1
    File1
    File2
    Sottocartella1
        File3
        File4
        File5
La Cartella1 di destinazione viene creata con la struttura seguente:

Cartella1
    Il contenuto di File1 + File2 + File3 + File4 + File 5 viene unito in un file con nome file generato automaticamente
false preserveHierarchy Cartella1
    File1
    File2
    Sottocartella1
        File3
        File4
        File5
La Cartella1 di destinazione viene creata con la struttura seguente

Cartella1
    File1
    File2

La sottocartella1 con File3, File4 e File5 non viene considerata.
false flattenHierarchy Cartella1
    File1
    File2
    Sottocartella1
        File3
        File4
        File5
La Cartella1 di destinazione viene creata con la struttura seguente

Cartella1
    Nome generato automaticamente per File1
    Nome generato automaticamente per File2

Sottocartella1 con File3, File4 e File5 non considerati.
false mergeFiles Cartella1
    File1
    File2
    Sottocartella1
        File3
        File4
        File5
La Cartella1 di destinazione viene creata con la struttura seguente

Cartella1
    Il contenuto di File1 + File2 viene unito in un file con nome generato automaticamente. Nome generato automaticamente per File1

La sottocartella1 con File3, File4 e File5 non viene considerata.

Proprietà dell'attività Lookup

Per altre informazioni sulle proprietà, vedere Attività Lookup.

Proprietà dell'attività GetMetadata

Per altre informazioni sulle proprietà, vedere Attività GetMetadata.

Proprietà dell'attività Delete

Per altre informazioni sulle proprietà, vedere Attività Delete.

Modalità legacy

Nota

I modelli seguenti sono ancora supportati così come sono per la compatibilità con le versioni precedenti. In futuro, è consigliabile usare il nuovo modello citato nelle sezioni precedenti, tenendo presente che l'interfaccia utente di creazione è passata alla generazione del nuovo modello.

Modello di set di dati legacy

Proprietà Descrizione Richiesto
type La proprietà type del set di dati deve essere impostata su: FileShare
folderPath Percorso della cartella. Il filtro con caratteri jolly è supportato. I caratteri jolly consentiti sono: * (corrisponde a zero o più caratteri) e ? (corrisponde a zero caratteri o a un carattere singolo). Usare ^ come carattere di escape se il nome effettivo della cartella include caratteri jolly o questo carattere di escape.

Esempi: cartellaradice/sottocartella/. Vedere altri esempi in Servizio collegato di esempio e definizioni del set di dati e Esempi di filtro file e cartelle.
No
fileName Filtro con nome o carattere jolly per i file nell'elemento "folderPath" specificato. Se non si specifica alcun valore per questa proprietà, il set di dati punta a tutti i file nella cartella.

Per un filtro, i caratteri jolly consentiti sono: * (corrispondenza di zero o più caratteri) e ? (corrispondenza di zero caratteri o di un carattere singolo).
- Esempio 1: "fileName": "*.csv"
- Esempio 2: "fileName": "???20180427.txt"
Usare ^ per il carattere escape se il nome effettivo del file include caratteri jolly o escape.

Quando fileName non viene specificato per un set di dati di output e preserveHierarchy non viene specificato nel sink dell'attività, l'attività di copia genera automaticamente il nome del file con il modello seguente: "Data.[activity run ID GUID].[GUID if FlattenHierarchy].[format if configured].[compression if configured]", ad esempio "Data.0a405f8a-93ff-4c6f-b3be-f69616f1df7a.txt.gz"; se si copia da un'origine tabulare usando il nome della tabella anziché la query, il modello di nome è "[table name].[format].[compression if configured]", ad esempio "MyTable.csv".
No
modifiedDatetimeStart Filtro di file basato sull'attributo Ultima modifica. I file vengono selezionati se l'ora dell'ultima modifica è maggiore o uguale a modifiedDatetimeStart e minore di modifiedDatetimeEnd. L'ora viene applicata al fuso orario UTC nel formato AAAA-MM-GGTHH:mm:ssZ.

Tenere presente che le prestazioni complessive dello spostamento dei dati sono interessate dall'abilitazione di questa impostazione quando si intende applicare un filtro a grandi quantità di file.

Le proprietà possono essere NULL, a indicare che al set di dati non viene applicato alcun filtro di attributo di file. Quando modifiedDatetimeStart ha un valore datetime ma modifiedDatetimeEnd è NULL, vengono selezionati i file il attributo Ultima modifica è maggiore o uguale al valore datetime. Quando modifiedDatetimeEnd ha un valore datetime ma modifiedDatetimeStart è NULL vengono selezionati i file il cui attributo Ultima modifica è minore del valore datetime.
No
modifiedDatetimeEnd Filtro di file basato sull'attributo Ultima modifica. I file vengono selezionati se l'ora dell'ultima modifica è maggiore o uguale a modifiedDatetimeStart e minore di modifiedDatetimeEnd. L'ora viene applicata con il fuso orario UTC e il formato "2018-12-01T05:00:00Z".

Tenere presente che le prestazioni complessive dello spostamento dei dati sono interessate dall'abilitazione di questa impostazione quando si intende applicare un filtro a grandi quantità di file.

Le proprietà possono essere NULL, a indicare che al set di dati non viene applicato alcun filtro di attributo di file. Quando modifiedDatetimeStart ha un valore datetime ma modifiedDatetimeEnd è NULL, vengono selezionati i file il attributo Ultima modifica è maggiore o uguale al valore datetime. Quando modifiedDatetimeEnd ha un valore datetime ma modifiedDatetimeStart è NULL vengono selezionati i file il cui attributo Ultima modifica è minore del valore datetime.
No
format Per copiare i file così come sono tra archivi basati su file (copia binaria), è possibile ignorare la sezione del formato nelle definizioni dei set di dati di input e di output.

Se si vuole analizzare o generare file con un formato specifico, sono supportati i tipi di formato seguenti: TextFormat, JsonFormat, AvroFormat, OrcFormat e ParquetFormat. Impostare la proprietà type nell'area format su uno di questi valori. Per altre informazioni, vedere le sezioni TextFormat, JsonFormat, AvroFormat, OrcFormat e ParquetFormat.
No (solo per uno scenario di copia binaria)
compressione Specificare il tipo e il livello di compressione dei dati. Per altre informazioni, vedere l'articolo sui formati di file supportati e i codec di compressione.
I tipi supportati sono GZip, Deflate, BZip2 e ZipDeflate.
I livelli supportati sono Ottimale e Più veloce.
No

Suggerimento

Per copiare tutti i file in una cartella, specificare solo folderPath.
Per copiare un singolo file con un determinato nome, specificare folderPath con il percorso della cartella e fileName con il nome del file.
Per copiare un subset di file in una cartella, specificare folderPath con il percorso della cartella e fileName con il filtro con caratteri jolly.

Nota

Se si usa la proprietà "fileFilter" per il filtro dei file, è comunque supportata senza alcuna modifica, mentre in futuro verrà consigliato di usare la nuova funzionalità di filtro aggiunta a "fileName".

Esempio:

{
    "name": "FileSystemDataset",
    "properties": {
        "type": "FileShare",
        "linkedServiceName":{
            "referenceName": "<file system 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"
            }
        }
    }
}

Modello di origine dell'attività di copia legacy

Proprietà Descrizione Richiesto
type La proprietà type dell'origine dell'attività di copia deve essere impostata su: FileSystemSource
recursive Indica se i dati vengono letti in modo ricorsivo dalle cartelle secondarie o solo dalla cartella specificata. Si noti che se recursive è impostata su true e il sink è un archivio basato su file, la cartella o la sottocartella vuota non verrà copiata o creata nel sink.
I valori consentiti sono: true (predefinito), false
No
maxConcurrentConnections Limite massimo di connessioni simultanee stabilite all'archivio dati durante l'esecuzione dell'attività. Specificare un valore solo quando si desidera limitare le connessioni simultanee. No

Esempio:

"activities":[
    {
        "name": "CopyFromFileSystem",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<file system input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "FileSystemSource",
                "recursive": true
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Modello di sink dell'attività di copia legacy

Proprietà Descrizione Richiesto
type La proprietà type del sink dell'attività di copia deve essere impostata su: FileSystemSink
copyBehavior Definisce il comportamento di copia quando l'origine è costituita da file di un archivio dati basato su file.

I valori consentiti sono i seguenti:
- PreserveHierarchy (predefinito): mantiene la gerarchia dei file nella cartella di destinazione. Il percorso relativo del file di origine nella cartella di origine è identico al percorso relativo del file di destinazione nella cartella di destinazione.
- FlattenHierarchy: tutti i file della cartella di origine si trovano nel primo livello della cartella di destinazione. I nomi dei file di destinazione vengono generati automaticamente.
- MergeFiles: unisce tutti i file della cartella di origine in un solo file. Non viene eseguita alcuna deduplicazione dei record durante il merge. Se viene specificato il nome file, il nome file unito sarà il nome specificato. In caso contrario, sarà il nome file generato automaticamente.
No
maxConcurrentConnections Limite massimo di connessioni simultanee stabilite all'archivio dati durante l'esecuzione dell'attività. Specificare un valore solo quando si desidera limitare le connessioni simultanee. No

Esempio:

"activities":[
    {
        "name": "CopyToFileSystem",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<file system output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "<source type>"
            },
            "sink": {
                "type": "FileSystemSink",
                "copyBehavior": "PreserveHierarchy"
            }
        }
    }
]

Per un elenco degli archivi dati supportati come origini e sink dall'attività Copy, vedere Archivi dati supportati.