Copiare e trasformare i dati in Azure Data Lake Storage Gen2 usando Azure Data FactoryCopy and transform data in Azure Data Lake Storage Gen2 using Azure Data Factory

Azure Data Lake Storage Gen2 (ADLS Gen2) è un set di funzionalità dedicate a Big Data Analytics incorporate nell' Archivio BLOB di Azure.Azure Data Lake Storage Gen2 (ADLS Gen2) is a set of capabilities dedicated to big data analytics built into Azure Blob storage. È possibile usarlo per interfacciarsi con i dati usando i paradigmi di archiviazione di file system e di oggetti.You can use it to interface with your data by using both file system and object storage paradigms.

Questo articolo illustra come usare l'attività di copia in Azure Data Factory per copiare dati da e in Azure Data Lake Storage Gen2 e usare il flusso di dati per trasformare i dati in Azure Data Lake Storage Gen2.This article outlines how to use Copy Activity in Azure Data Factory to copy data from and to Azure Data Lake Storage Gen2, and use Data Flow to transform data in Azure Data Lake Storage Gen2. Per altre informazioni su Azure Data Factory, vedere l'articolo introduttivo.To learn about Azure Data Factory, read the introductory article.

Funzionalità supportateSupported capabilities

Questo connettore Azure Data Lake Storage Gen2 è supportato per le attività seguenti:This Azure Data Lake Storage Gen2 connector is supported for the following activities:

Per l'attività di copia, con questo connettore è possibile:For Copy activity, with this connector you can:

Importante

Se si Abilita l'opzione Consenti ai servizi Microsoft attendibili di accedere a questo account di archiviazione nelle impostazioni del firewall di archiviazione di Azure e si vuole usare il runtime di integrazione di Azure per connettersi alla data Lake storage Gen2, è necessario usare l'autenticazione di identità gestita per ADLS Gen2.If you enable the Allow trusted Microsoft services to access this storage account option on Azure Storage firewall settings and want to use Azure integration runtime to connect to your Data Lake Storage Gen2, you must use managed identity authentication for ADLS Gen2.

Suggerimento

Se si Abilita lo spazio dei nomi gerarchico, attualmente non esiste alcuna interoperabilità tra le API BLOB e Data Lake Storage Gen2.If you enable the hierarchical namespace, currently there's no interoperability of operations between Blob and Data Lake Storage Gen2 APIs. Se viene visualizzato l'errore "ErrorCode = FilesystemNotFound" con il messaggio "il file system specificato non esiste", è causato dal sink specificato file system creato tramite l'API BLOB anziché Data Lake Storage Gen2 API altrove.If you hit the error "ErrorCode=FilesystemNotFound" with the message "The specified filesystem does not exist," it's caused by the specified sink file system that was created via the Blob API instead of Data Lake Storage Gen2 API elsewhere. Per risolvere il problema, specificare un nuovo file system con un nome che non esiste come nome di un contenitore BLOB.To fix the issue, specify a new file system with a name that doesn't exist as the name of a Blob container. Quindi Data Factory crea automaticamente tale file system durante la copia dei dati.Then Data Factory automatically creates that file system during data copy.

Inizia oggi stessoGet started

Suggerimento

Per una procedura dettagliata sull'uso del connettore Data Lake Storage Gen2, vedere caricare dati in Azure Data Lake storage Gen2.For a walk-through of how to use the Data Lake Storage Gen2 connector, see Load data into Azure Data Lake Storage Gen2.

È possibile usare l'attività di copia con una pipeline tramite uno degli strumenti o degli SDK seguenti.You can use one of the following tools or SDKs to use the copy activity with a pipeline. Per istruzioni dettagliate, selezionare un collegamento:Select a link for step-by-step instructions:

Le sezioni seguenti forniscono informazioni sulle proprietà che vengono usate per definire Data Factory entità specifiche per Data Lake Storage Gen2.The following sections provide information about properties that are used to define Data Factory entities specific to Data Lake Storage Gen2.

Proprietà del servizio collegatoLinked service properties

Il connettore Azure Data Lake Storage Gen2 supporta i tipi di autenticazione seguenti.The Azure Data Lake Storage Gen2 connector supports the following authentication types. Per informazioni dettagliate, vedere le sezioni corrispondenti:See the corresponding sections for details:

Nota

Quando si usa la polibase per caricare i dati in SQL Data Warehouse, se il Data Lake Storage Gen2 di origine è configurato con l'endpoint di rete virtuale, è necessario usare l'autenticazione di identità gestita come richiesto da polibase.When using PolyBase to load data into SQL Data Warehouse, if your source Data Lake Storage Gen2 is configured with Virtual Network endpoint, you must use managed identity authentication as required by PolyBase. Vedere la sezione autenticazione di identità gestita con altri prerequisiti di configurazione.See the managed identity authentication section with more configuration prerequisites.

Autenticazione basata sulla chiave dell'accountAccount key authentication

Per usare l'autenticazione basata sulla chiave dell'account di archiviazione, sono supportate le proprietà seguenti:To use storage account key authentication, the following properties are supported:

ProprietàProperty DescriptionDescription ObbligatorioRequired
typetype La proprietà type deve essere impostata su AzureBlobFS.The type property must be set to AzureBlobFS. Yes
urlurl Endpoint per Data Lake Storage Gen2 con il modello di https://<accountname>.dfs.core.windows.net.Endpoint for Data Lake Storage Gen2 with the pattern of https://<accountname>.dfs.core.windows.net. Yes
accountKeyaccountKey Chiave dell'account per Data Lake Storage Gen2.Account key for Data Lake Storage Gen2. Contrassegnare questo campo come SecureString per archiviarlo in modo sicuro in Azure Data Factory oppure fare riferimento a un segreto archiviato in Azure Key Vault.Mark this field as a SecureString to store it securely in Data Factory, or reference a secret stored in Azure Key Vault. Yes
connectViaconnectVia Runtime di integrazione da usare per la connessione all'archivio dati.The integration runtime to be used to connect to the data store. Se l'archivio dati si trova in una rete privata, è possibile usare il runtime di integrazione di Azure o un runtime di integrazione self-hosted.You can use the Azure integration runtime or a self-hosted integration runtime if your data store is in a private network. Se questa proprietà non è specificata, viene usato il runtime di integrazione di Azure predefinito.If this property isn't specified, the default Azure integration runtime is used. NoNo

Nota

L'endpoint ADLS secondario file system non è supportato quando si usa l'autenticazione della chiave dell'account.Secondary ADLS file system endpoint is not supported when using account key authentication. È possibile utilizzare altri tipi di autenticazione.You can use other authentication types.

Esempio:Example:

{
    "name": "AzureDataLakeStorageGen2LinkedService",
    "properties": {
        "type": "AzureBlobFS",
        "typeProperties": {
            "url": "https://<accountname>.dfs.core.windows.net", 
            "accountkey": { 
                "type": "SecureString", 
                "value": "<accountkey>" 
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Autenticazione di un'entità servizioService principal authentication

Per utilizzare l'autenticazione basata su entità servizio, attenersi alla seguente procedura.To use service principal authentication, follow these steps.

  1. Registrare un'entità applicazione in Azure Active Directory (Azure AD) attenendosi alla procedura descritta in registrare l'applicazione con un tenant di Azure ad.Register an application entity in Azure Active Directory (Azure AD) by following the steps in Register your application with an Azure AD tenant. Prendere nota dei valori seguenti che si usano per definire il servizio collegato:Make note of the following values, which you use to define the linked service:

    • ID applicazioneApplication ID
    • Chiave applicazioneApplication key
    • ID tenantTenant ID
  2. Concedere all'entità servizio l'autorizzazione appropriata.Grant the service principal proper permission. Vedere esempi su come funziona l'autorizzazione in Data Lake Storage Gen2 da elenchi di controllo di accesso su file e directorySee examples on how permission works in Data Lake Storage Gen2 from Access control lists on files and directories

    • Come origine: in Storage Explorer, concedere almeno l'autorizzazione Execute per tutte le cartelle upstream e la file System, insieme all'autorizzazione Read per i file da copiare.As source: In Storage Explorer, grant at least Execute permission for ALL upstream folders and the file system, along with Read permission for the files to copy. In alternativa, in controllo di accesso (IAM) concedere almeno il ruolo lettore dati BLOB di archiviazione .Alternatively, in Access control (IAM), grant at least the Storage Blob Data Reader role.
    • Come sink: in Storage Explorer, concedere almeno l'autorizzazione Execute per tutte le cartelle upstream e la file System, insieme all'autorizzazione di scrittura per la cartella sink.As sink: In Storage Explorer, grant at least Execute permission for ALL upstream folders and the file system, along with Write permission for the sink folder. In alternativa, in controllo di accesso (IAM) concedere almeno il ruolo di collaboratore dati BLOB di archiviazione .Alternatively, in Access control (IAM), grant at least the Storage Blob Data Contributor role.

Nota

Se si usa Data Factory interfaccia utente per creare e l'entità servizio non è impostata con il ruolo "lettore dati BLOB di archiviazione/collaboratore" in IAM, quando si esegue la connessione di test o si esplorano cartelle, scegliere "Test connessione a percorso file" o "Sfoglia da percorso specificato" e specificare un percorso con l'autorizzazione lettura + esecuzione per continuare.If you use Data Factory UI to author and the service principal is not set with "Storage Blob Data Reader/Contributor" role in IAM, when doing test connection or browsing/navigating folders, choose "Test connection to file path" or "Browse from specified path", and specify a path with Read + Execute permission to continue.

Queste proprietà sono supportate per il servizio collegato:These properties are supported for the linked service:

ProprietàProperty DescriptionDescription ObbligatorioRequired
typetype La proprietà type deve essere impostata su AzureBlobFS.The type property must be set to AzureBlobFS. Yes
urlurl Endpoint per Data Lake Storage Gen2 con il modello di https://<accountname>.dfs.core.windows.net.Endpoint for Data Lake Storage Gen2 with the pattern of https://<accountname>.dfs.core.windows.net. Yes
servicePrincipalIdservicePrincipalId Specificare l'ID client dell'applicazione.Specify the application's client ID. Yes
servicePrincipalKeyservicePrincipalKey Specificare la chiave dell'applicazione.Specify the application's key. Contrassegnare questo campo come SecureString per archiviarlo in modo sicuro nel Data Factory.Mark this field as a SecureString to store it securely in Data Factory. In alternativa, è possibile fare riferimento a un segreto archiviato in Azure Key Vault.Or, you can reference a secret stored in Azure Key Vault. Yes
tenanttenant Specificare le informazioni sul tenant (nome di dominio o ID tenant) in cui si trova l'applicazione.Specify the tenant information (domain name or tenant ID) under which your application resides. Recuperarlo posizionando il puntatore del mouse nell'angolo in alto a destra della portale di Azure.Retrieve it by hovering the mouse in the upper-right corner of the Azure portal. Yes
connectViaconnectVia Runtime di integrazione da usare per la connessione all'archivio dati.The integration runtime to be used to connect to the data store. Se l'archivio dati si trova in una rete privata, è possibile usare il runtime di integrazione di Azure o un runtime di integrazione self-hosted.You can use the Azure integration runtime or a self-hosted integration runtime if your data store is in a private network. Se non specificato, viene usato il runtime di integrazione di Azure predefinito.If not specified, the default Azure integration runtime is used. NoNo

Esempio:Example:

{
    "name": "AzureDataLakeStorageGen2LinkedService",
    "properties": {
        "type": "AzureBlobFS",
        "typeProperties": {
            "url": "https://<accountname>.dfs.core.windows.net", 
            "servicePrincipalId": "<service principal id>",
            "servicePrincipalKey": {
                "type": "SecureString",
                "value": "<service principal key>"
            },
            "tenant": "<tenant info, e.g. microsoft.onmicrosoft.com>" 
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Autenticazione di identità gestite per le risorse di AzureManaged identities for Azure resources authentication

Una data factory può essere associata a un'identità gestita per le risorse di Azure, che rappresenta la data factory specifica.A data factory can be associated with a managed identity for Azure resources, which represents this specific data factory. È possibile usare direttamente questa identità gestita per l'autenticazione Data Lake Storage Gen2, in modo analogo all'uso della propria entità servizio.You can directly use this managed identity for Data Lake Storage Gen2 authentication, similar to using your own service principal. Consente a questa factory designata di accedere e copiare i dati da o verso la Data Lake Storage Gen2.It allows this designated factory to access and copy data to or from your Data Lake Storage Gen2.

Per usare le identità gestite per l'autenticazione delle risorse di Azure, seguire questa procedura.To use managed identities for Azure resource authentication, follow these steps.

  1. Recuperare le informazioni sull'identità gestita di data factory copiando il valore dell' ID oggetto identità gestito generato insieme alla Factory.Retrieve the Data Factory managed identity information by copying the value of the managed identity object ID generated along with your factory.

  2. Concedere all'identità gestita l'autorizzazione appropriata.Grant the managed identity proper permission. Vedere esempi su come funziona l'autorizzazione in Data Lake Storage Gen2 da elenchi di controllo di accesso su file e directory.See examples on how permission works in Data Lake Storage Gen2 from Access control lists on files and directories.

    • Come origine: in Storage Explorer, concedere almeno l'autorizzazione Execute per tutte le cartelle upstream e la file System, insieme all'autorizzazione Read per i file da copiare.As source: In Storage Explorer, grant at least Execute permission for ALL upstream folders and the file system, along with Read permission for the files to copy. In alternativa, in controllo di accesso (IAM) concedere almeno il ruolo lettore dati BLOB di archiviazione .Alternatively, in Access control (IAM), grant at least the Storage Blob Data Reader role.
    • Come sink: in Storage Explorer, concedere almeno l'autorizzazione Execute per tutte le cartelle upstream e la file System, insieme all'autorizzazione di scrittura per la cartella sink.As sink: In Storage Explorer, grant at least Execute permission for ALL upstream folders and the file system, along with Write permission for the sink folder. In alternativa, in controllo di accesso (IAM) concedere almeno il ruolo di collaboratore dati BLOB di archiviazione .Alternatively, in Access control (IAM), grant at least the Storage Blob Data Contributor role.

Nota

Se si usa Data Factory interfaccia utente per creare e l'identità gestita non è impostata con il ruolo "lettore dati BLOB di archiviazione/collaboratore" in IAM, quando si esegue la connessione di test o si esplorano cartelle, scegliere "Test connessione a percorso file" o "Sfoglia da percorso specificato" e specificare un percorso con l'autorizzazione lettura + esecuzione per continuare.If you use Data Factory UI to author and the managed identity is not set with "Storage Blob Data Reader/Contributor" role in IAM, when doing test connection or browsing/navigating folders, choose "Test connection to file path" or "Browse from specified path", and specify a path with Read + Execute permission to continue.

Importante

Se si usa la funzione polibase per caricare i dati da Data Lake Storage Gen2 in SQL Data Warehouse, quando si usa l'autenticazione di identità gestita per Data Lake Storage Gen2, assicurarsi di seguire anche i passaggi 1 e 2 in questa guida a 1) registrare il server di database sql con Azure Active Directory (Azure ad) e 2) assegnare il ruolo di collaboratore dati BLOB di archiviazione al server del database SQL. il resto viene gestito da Data Factory.If you use PolyBase to load data from Data Lake Storage Gen2 into SQL Data Warehouse, when using managed identity authentication for Data Lake Storage Gen2, make sure you also follow steps 1 and 2 in this guidance to 1) register your SQL Database server with Azure Active Directory (Azure AD) and 2) assign the Storage Blob Data Contributor role to your SQL Database server; the rest are handled by Data Factory. Se la Data Lake Storage Gen2 è configurata con un endpoint di rete virtuale di Azure, per usare la polibase per il caricamento dei dati, è necessario usare l'autenticazione di identità gestita come richiesto da polibase.If your Data Lake Storage Gen2 is configured with an Azure Virtual Network endpoint, to use PolyBase to load data from it, you must use managed identity authentication as required by PolyBase.

Queste proprietà sono supportate per il servizio collegato:These properties are supported for the linked service:

ProprietàProperty DescriptionDescription ObbligatorioRequired
typetype La proprietà type deve essere impostata su AzureBlobFS.The type property must be set to AzureBlobFS. Yes
urlurl Endpoint per Data Lake Storage Gen2 con il modello di https://<accountname>.dfs.core.windows.net.Endpoint for Data Lake Storage Gen2 with the pattern of https://<accountname>.dfs.core.windows.net. Yes
connectViaconnectVia Runtime di integrazione da usare per la connessione all'archivio dati.The integration runtime to be used to connect to the data store. Se l'archivio dati si trova in una rete privata, è possibile usare il runtime di integrazione di Azure o un runtime di integrazione self-hosted.You can use the Azure integration runtime or a self-hosted integration runtime if your data store is in a private network. Se non specificato, viene usato il runtime di integrazione di Azure predefinito.If not specified, the default Azure integration runtime is used. NoNo

Esempio:Example:

{
    "name": "AzureDataLakeStorageGen2LinkedService",
    "properties": {
        "type": "AzureBlobFS",
        "typeProperties": {
            "url": "https://<accountname>.dfs.core.windows.net", 
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Proprietà del set di datiDataset properties

Per un elenco completo delle sezioni e delle proprietà disponibili per la definizione dei set di impostazioni, vedere Datasets.For a full list of sections and properties available for defining datasets, see Datasets.

Azure Data Factory supportano i formati di file seguenti.Azure Data Factory support the following file formats. Fare riferimento a ogni articolo sulle impostazioni basate sul formato.Refer to each article on format-based settings.

Le proprietà seguenti sono supportate per Data Lake Storage Gen2 in impostazioni location nel set di dati basato sul formato:The following properties are supported for Data Lake Storage Gen2 under location settings in the format-based dataset:

ProprietàProperty DescriptionDescription ObbligatorioRequired
typetype La proprietà Type in location nel set di dati deve essere impostata su AzureBlobFSLocation.The type property under location in the dataset must be set to AzureBlobFSLocation. Yes
fileSystemfileSystem Nome del file system Data Lake Storage Gen2.The Data Lake Storage Gen2 file system name. NoNo
folderPathfolderPath Percorso di una cartella nella file system specificata.The path to a folder under the given file system. Se si vuole usare un carattere jolly per filtrare le cartelle, ignorare questa impostazione e specificarla nelle impostazioni dell'origine dell'attività.If you want to use a wildcard to filter folders, skip this setting and specify it in activity source settings. NoNo
fileNamefileName Nome del file nel file System + folderPath specificato.The file name under the given fileSystem + folderPath. Se si vuole usare un carattere jolly per filtrare i file, ignorare questa impostazione e specificarla nelle impostazioni dell'origine dell'attività.If you want to use a wildcard to filter files, skip this setting and specify it in activity source settings. NoNo

Esempio:Example:

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

Proprietà dell'attività di copiaCopy activity properties

Per un elenco completo delle sezioni e delle proprietà disponibili per la definizione delle attività, vedere la pagina relativa alle configurazioni delle attività di copia e alle pipeline e alle attività.For a full list of sections and properties available for defining activities, see Copy activity configurations and Pipelines and activities. Questa sezione presenta un elenco delle proprietà supportate dall'origine e dal sink Data Lake Storage Gen2.This section provides a list of properties supported by the Data Lake Storage Gen2 source and sink.

Azure Data Lake Storage Gen2 come tipo di origineAzure Data Lake Storage Gen2 as a source type

Azure Data Factory supportano i formati di file seguenti.Azure Data Factory support the following file formats. Fare riferimento a ogni articolo sulle impostazioni basate sul formato.Refer to each article on format-based settings.

Le proprietà seguenti sono supportate per Data Lake Storage Gen2 in impostazioni storeSettings in origine copia basata sul formato:The following properties are supported for Data Lake Storage Gen2 under storeSettings settings in format-based copy source:

ProprietàProperty DescriptionDescription ObbligatorioRequired
typetype La proprietà Type in storeSettings deve essere impostata su AzureBlobFSReadSettings.The type property under storeSettings must be set to AzureBlobFSReadSettings. Yes
ricorsivarecursive Indica se i dati vengono letti in modo ricorsivo dalle cartelle secondarie o solo dalla cartella specificata.Indicates whether the data is read recursively from the subfolders or only from the specified folder. Quando l'opzione ricorsiva è impostata su true e il sink è un archivio basato su file, una cartella o una sottocartella vuota non viene copiata o creata nel sink.When recursive is set to true and the sink is a file-based store, an empty folder or subfolder isn't copied or created at the sink. I valori consentiti sono true (predefinito) e false.Allowed values are true (default) and false. NoNo
wildcardFolderPathwildcardFolderPath Il percorso della cartella con caratteri jolly sotto la file system specificata configurata nel set di dati per filtrare le cartelle di origine.The folder path with wildcard characters under the given file system configured in dataset to filter source folders.
I caratteri jolly consentiti sono * (corrisponde a zero o più caratteri) e ? (corrisponde a zero o a un carattere singolo).Allowed wildcards are * (matches zero or more characters) and ? (matches zero or single character). Usare ^ per eseguire l'escape se il nome della cartella effettivo contiene un carattere jolly o il carattere di escape.Use ^ to escape if your actual folder name has a wildcard or this escape char inside.
Vedere altri esempi in Esempi di filtro file e cartelle.See more examples in Folder and file filter examples.
NoNo
wildcardFileNamewildcardFileName Nome file con caratteri jolly sotto il file system + folderPath/wildcardFolderPath specificato per filtrare i file di origine.The file name with wildcard characters under the given file system + folderPath/wildcardFolderPath to filter source files.
I caratteri jolly consentiti sono * (corrisponde a zero o più caratteri) e ? (corrisponde a zero o a un carattere singolo).Allowed wildcards are * (matches zero or more characters) and ? (matches zero or single character). Usare ^ per eseguire l'escape se il nome della cartella effettivo contiene un carattere jolly o il carattere di escape.Use ^ to escape if your actual folder name has a wildcard or this escape char inside. Vedere altri esempi in Esempi di filtro file e cartelle.See more examples in Folder and file filter examples.
Sì se fileName non è specificato nel DataSetYes if fileName isn't specified in dataset
modifiedDatetimeStartmodifiedDatetimeStart Filtro file basato sull'Ultima modifica dell'attributo.Files filter based on the attribute Last Modified. I file vengono selezionati se l'ora dell'Ultima modifica rientra nell'intervallo di tempo compreso tra modifiedDatetimeStart e modifiedDatetimeEnd.The files are selected if their last modified time is within the time range between modifiedDatetimeStart and modifiedDatetimeEnd. L'ora viene applicata al fuso orario UTC nel formato "2018-12-01T05:00:00Z".The time is applied to the UTC time zone in the format of "2018-12-01T05:00:00Z".
Le proprietà possono essere NULL, il che significa che al set di dati non viene applicato alcun filtro di attributi di file.The properties can be NULL, which means that no file attribute filter is applied to the dataset. Quando modifiedDatetimeStart dispone di un valore DateTime ma modifiedDatetimeEnd è NULL, significa che i file il cui ultimo attributo modificato è maggiore o uguale al valore DateTime sono selezionati.When modifiedDatetimeStart has a datetime value but modifiedDatetimeEnd is NULL, it means that the files whose last modified attribute is greater than or equal to the datetime value are selected. Quando modifiedDatetimeEnd dispone di un valore DateTime ma modifiedDatetimeStart è NULL, significa che i file il cui attributo Last modified è minore del valore DateTime sono selezionati.When modifiedDatetimeEnd has a datetime value but modifiedDatetimeStart is NULL, it means that the files whose last modified attribute is less than the datetime value are selected.
NoNo
modifiedDatetimeEndmodifiedDatetimeEnd Come sopra.Same as above. NoNo
maxConcurrentConnectionsmaxConcurrentConnections Numero di connessioni simultanee per la connessione all'archivio di archiviazione.The number of connections to connect to storage store concurrently. Specificare solo quando si desidera limitare la connessione simultanea all'archivio dati.Specify only when you want to limit the concurrent connection to the data store. NoNo

Esempio:Example:

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

Azure Data Lake Storage Gen2 come tipo di sinkAzure Data Lake Storage Gen2 as a sink type

Azure Data Factory supportano i formati di file seguenti.Azure Data Factory support the following file formats. Fare riferimento a ogni articolo sulle impostazioni basate sul formato.Refer to each article on format-based settings.

Le proprietà seguenti sono supportate per Data Lake Storage Gen2 in impostazioni storeSettings nel sink di copia basato sul formato:The following properties are supported for Data Lake Storage Gen2 under storeSettings settings in format-based copy sink:

ProprietàProperty DescriptionDescription ObbligatorioRequired
typetype La proprietà Type in storeSettings deve essere impostata su AzureBlobFSWriteSettings.The type property under storeSettings must be set to AzureBlobFSWriteSettings. Yes
copyBehaviorcopyBehavior Definisce il comportamento di copia quando l'origine è costituita da file di un archivio dati basato su file.Defines the copy behavior when the source is files from a file-based data store.

I valori consentiti sono i seguenti:Allowed values are:
- PreserveHierarchy (predefinito): mantiene la gerarchia dei file nella cartella di destinazione.- PreserveHierarchy (default): Preserves the file hierarchy in the target folder. Il percorso relativo del file di origine nella cartella di origine è identico al percorso relativo del file di destinazione nella cartella di destinazione.The relative path of the source file to the source folder is identical to the relative path of the target file to the target folder.
- FlattenHierarchy: tutti i file della cartella di origine si trovano nel primo livello della cartella di destinazione.- FlattenHierarchy: All files from the source folder are in the first level of the target folder. I nomi dei file di destinazione vengono generati automaticamente.The target files have autogenerated names.
- MergeFiles: unisce tutti i file della cartella di origine in un solo file.- MergeFiles: Merges all files from the source folder to one file. Se si specifica il nome di file, il nome del file unito sarà il nome specificato.If the file name is specified, the merged file name is the specified name. In caso contrario, verrà usato un nome di file generato automaticamente.Otherwise, it's an autogenerated file name.
NoNo
maxConcurrentConnectionsmaxConcurrentConnections Numero di connessioni per la connessione all'archivio dati contemporaneamente.The number of connections to connect to the data store concurrently. Specificare solo quando si desidera limitare la connessione simultanea all'archivio dati.Specify only when you want to limit the concurrent connection to the data store. NoNo

Esempio:Example:

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

Esempi di filtro file e cartelleFolder and file filter examples

Questa sezione descrive il comportamento risultante del percorso cartella e del nome del file con i filtri con caratteri jolly.This section describes the resulting behavior of the folder path and file name with wildcard filters.

folderPathfolderPath fileNamefileName ricorsivarecursive Struttura delle cartelle di origine e risultato del filtro (i file in grassetto sono stati recuperati)Source folder structure and filter result (files in bold are retrieved)
Folder* (Vuoto, USA predefinito)(Empty, use default) falsefalse CartellaAFolderA
    File1.csv    File1.csv
    File2.json    File2.json
    Sottocartella1    Subfolder1
        File3.csv        File3.csv
        File4.json        File4.json
        File5.csv        File5.csv
AltraCartellaBAnotherFolderB
    File6.csv    File6.csv
Folder* (Vuoto, USA predefinito)(Empty, use default) truetrue CartellaAFolderA
    File1.csv    File1.csv
    File2.json    File2.json
    Sottocartella1    Subfolder1
        File3.csv        File3.csv
        File4.json        File4.json
        File5.csv        File5.csv
AltraCartellaBAnotherFolderB
    File6.csv    File6.csv
Folder* *.csv falsefalse CartellaAFolderA
    File1.csv    File1.csv
    File2.json    File2.json
    Sottocartella1    Subfolder1
        File3.csv        File3.csv
        File4.json        File4.json
        File5.csv        File5.csv
AltraCartellaBAnotherFolderB
    File6.csv    File6.csv
Folder* *.csv truetrue CartellaAFolderA
    File1.csv    File1.csv
    File2.json    File2.json
    Sottocartella1    Subfolder1
        File3.csv        File3.csv
        File4.json        File4.json
        File5.csv        File5.csv
AltraCartellaBAnotherFolderB
    File6.csv    File6.csv

Alcuni esempi dei valori recursive e copyBehaviorSome recursive and copyBehavior examples

In questa sezione viene descritto il comportamento risultante dell'operazione di copia per diverse combinazioni di valori ricorsivi e copyBehavior.This section describes the resulting behavior of the copy operation for different combinations of recursive and copyBehavior values.

ricorsivarecursive copyBehaviorcopyBehavior Struttura della cartella di origineSource folder structure Destinazione risultanteResulting target
truetrue preserveHierarchypreserveHierarchy Cartella1Folder1
    File1    File1
    File2    File2
    Sottocartella1    Subfolder1
        File3        File3
        File4        File4
        File5        File5
La Cartella1 di destinazione viene creata con la stessa struttura dell'origine:The target Folder1 is created with the same structure as the source:

Cartella1Folder1
    File1    File1
    File2    File2
    Sottocartella1    Subfolder1
        File3        File3
        File4        File4
        File5        File5
truetrue flattenHierarchyflattenHierarchy Cartella1Folder1
    File1    File1
    File2    File2
    Sottocartella1    Subfolder1
        File3        File3
        File4        File4
        File5        File5
La Cartella1 di destinazione viene creata con la struttura seguente:The target Folder1 is created with the following structure:

Cartella1Folder1
    Nome generato automaticamente per File1    autogenerated name for File1
    Nome generato automaticamente per File2    autogenerated name for File2
    Nome generato automaticamente per File3    autogenerated name for File3
    Nome generato automaticamente per File4    autogenerated name for File4
    Nome generato automaticamente per File5    autogenerated name for File5
truetrue mergeFilesmergeFiles Cartella1Folder1
    File1    File1
    File2    File2
    Sottocartella1    Subfolder1
        File3        File3
        File4        File4
        File5        File5
La Cartella1 di destinazione viene creata con la struttura seguente:The target Folder1 is created with the following structure:

Cartella1Folder1
    Il contenuto di File1 + File2 + File3 + File4 + File 5 viene unito in un file con nome generato automaticamente.    File1 + File2 + File3 + File4 + File5 contents are merged into one file with an autogenerated file name.
falsefalse preserveHierarchypreserveHierarchy Cartella1Folder1
    File1    File1
    File2    File2
    Sottocartella1    Subfolder1
        File3        File3
        File4        File4
        File5        File5
La Cartella1 di destinazione viene creata con la struttura seguente:The target Folder1 is created with the following structure:

Cartella1Folder1
    File1    File1
    File2    File2

Sottocartella1 con file3, file4 e File5 non viene prelevato.Subfolder1 with File3, File4, and File5 isn't picked up.
falsefalse flattenHierarchyflattenHierarchy Cartella1Folder1
    File1    File1
    File2    File2
    Sottocartella1    Subfolder1
        File3        File3
        File4        File4
        File5        File5
La Cartella1 di destinazione viene creata con la struttura seguente:The target Folder1 is created with the following structure:

Cartella1Folder1
    Nome generato automaticamente per File1    autogenerated name for File1
    Nome generato automaticamente per File2    autogenerated name for File2

Sottocartella1 con file3, file4 e File5 non viene prelevato.Subfolder1 with File3, File4, and File5 isn't picked up.
falsefalse mergeFilesmergeFiles Cartella1Folder1
    File1    File1
    File2    File2
    Sottocartella1    Subfolder1
        File3        File3
        File4        File4
        File5        File5
La Cartella1 di destinazione viene creata con la struttura seguente:The target Folder1 is created with the following structure:

Cartella1Folder1
    Il contenuto di File1 + File2 viene unito in un file con un nome di file generato automaticamente.    File1 + File2 contents are merged into one file with an autogenerated file name. Nome generato automaticamente per File1autogenerated name for File1

Sottocartella1 con file3, file4 e File5 non viene prelevato.Subfolder1 with File3, File4, and File5 isn't picked up.

Mantieni metadati durante la copiaPreserve metadata during copy

Quando si copiano i file da Amazon S3/BLOB di Azure/Azure Data Lake Storage Gen2 al BLOB di Azure Data Lake Storage Gen2/Azure, è possibile scegliere di mantenere i metadati del file insieme ai dati.When you copy files from Amazon S3/Azure Blob/Azure Data Lake Storage Gen2 to Azure Data Lake Storage Gen2/Azure Blob, you can choose to preserve the file metadata along with data. Per altre informazioni, vedere preservare i metadati.Learn more from Preserve metadata.

Mantieni ACL da Data Lake Storage Gen1Preserve ACLs from Data Lake Storage Gen1

Suggerimento

Per copiare dati da Azure Data Lake Storage Gen1 in Gen2 in generale, vedere copiare dati da Azure Data Lake storage Gen1 a Gen2 con Azure Data Factory per una procedura dettagliata e procedure consigliate.To copy data from Azure Data Lake Storage Gen1 into Gen2 in general, see Copy data from Azure Data Lake Storage Gen1 to Gen2 with Azure Data Factory for a walk-through and best practices.

Quando si copiano i file da Azure Data Lake Storage Gen1 a Gen2, è possibile scegliere di mantenere gli elenchi di controllo di accesso (ACL) POSIX insieme ai dati.When you copy files from Azure Data Lake Storage Gen1 to Gen2, you can choose to preserve the POSIX access control lists (ACLs) along with data. Per altre informazioni, vedere mantenere gli ACL da data Lake storage Gen1 a Gen2.Learn more from Preserve ACLs from Data Lake Storage Gen1 to Gen2.

Mapping delle proprietà del flusso di datiMapping data flow properties

Quando si trasformano i dati nel flusso di dati di mapping, è possibile leggere e scrivere file da Azure Data Lake Storage Gen2 in formato JSON, avro, testo delimitato o parquet.When transforming data in mapping data flow, you can read and write files from Azure Data Lake Storage Gen2 in JSON, Avro, Delimited Text, or Parquet format. Per ulteriori informazioni, vedere trasformazione origine e trasformazione sink nella funzionalità flusso di dati mapping.For more information, see source transformation and sink transformation in the mapping data flow feature.

Trasformazione origineSource transformation

Nella trasformazione origine è possibile leggere da un contenitore, una cartella o un singolo file in Azure Data Lake Storage Gen2.In the source transformation, you can read from a container, folder or individual file in Azure Data Lake Storage Gen2. La scheda Opzioni di origine consente di gestire il modo in cui i file vengono letti.The Source options tab lets you manage how the files get read.

Opzioni di origineSource options

Percorso con caratteri jolly: L'utilizzo di un modello con caratteri jolly indicherà ad ADF di scorrere ogni cartella e file corrispondente in un'unica trasformazione origine.Wildcard path: Using a wildcard pattern will instruct ADF to loop through each matching folder and file in a single Source transformation. Si tratta di un modo efficace per elaborare più file all'interno di un singolo flusso.This is an effective way to process multiple files within a single flow. Aggiungere più modelli di corrispondenza con caratteri jolly con il segno + visualizzato quando si passa il mouse sul modello con caratteri jolly esistente.Add multiple wildcard matching patterns with the + sign that appears when hovering over your existing wildcard pattern.

Dal contenitore di origine, scegliere una serie di file che corrispondono a un modello.From your source container, choose a series of files that match a pattern. Nel set di dati è possibile specificare solo il contenitore.Only container can be specified in the dataset. Il percorso del carattere jolly deve quindi includere anche il percorso della cartella nella cartella radice.Your wildcard path must therefore also include your folder path from the root folder.

Esempi di caratteri jolly:Wildcard examples:

  • * rappresenta un set di caratteri* Represents any set of characters

  • ** rappresenta l'annidamento delle directory ricorsive** Represents recursive directory nesting

  • ? sostituisce un carattere? Replaces one character

  • [] corrisponde a uno o più caratteri tra parentesi quadre[] Matches one of more characters in the brackets

  • /data/sales/**/*.csv ottiene tutti i file CSV in/data/Sales/data/sales/**/*.csv Gets all csv files under /data/sales

  • /data/sales/20??/** ottiene tutti i file nel ventesimo secolo/data/sales/20??/** Gets all files in the 20th century

  • /data/sales/2004/*/12/[XY]1?.csv ottiene tutti i file CSV 2004 nel dicembre a partire da X o Y preceduto da un numero a due cifre/data/sales/2004/*/12/[XY]1?.csv Gets all csv files in 2004 in December starting with X or Y prefixed by a two-digit number

Percorso radice partizione: Se nell'origine file sono presenti cartelle partizionate con un formato key=value (ad esempio, Year = 2019), è possibile assegnare il livello principale dell'albero delle cartelle della partizione a un nome di colonna nel flusso di dati del flusso di dati.Partition Root Path: If you have partitioned folders in your file source with a key=value format (for example, year=2019), then you can assign the top level of that partition folder tree to a column name in your data flow data stream.

Per prima cosa, impostare un carattere jolly per includere tutti i percorsi che rappresentano le cartelle partizionate e i file foglia che si desidera leggere.First, set a wildcard to include all paths that are the partitioned folders plus the leaf files that you wish to read.

Impostazioni del file di origine della partizionePartition source file settings

Utilizzare l'impostazione percorso radice partizione per definire il livello superiore della struttura di cartelle.Use the Partition Root Path setting to define what the top level of the folder structure is. Quando si Visualizza il contenuto dei dati tramite un'anteprima dei dati, si noterà che ADF aggiungerà le partizioni risolte presenti in ogni livello di cartella.When you view the contents of your data via a data preview, you'll see that ADF will add the resolved partitions found in each of your folder levels.

Percorso radice partizionePartition root path

Elenco di file: Si tratta di un set di file.List of files: This is a file set. Creare un file di testo che includa un elenco di file di percorso relativi da elaborare.Create a text file that includes a list of relative path files to process. Puntare a questo file di testo.Point to this text file.

Colonna in cui archiviare il nome del file: Archiviare il nome del file di origine in una colonna nei dati.Column to store file name: Store the name of the source file in a column in your data. Immettere qui il nome di una nuova colonna per archiviare la stringa del nome file.Enter a new column name here to store the file name string.

Dopo il completamento: Scegliere di non eseguire alcuna operazione con il file di origine dopo l'esecuzione del flusso di dati, eliminare il file di origine oppure spostare il file di origine.After completion: Choose to do nothing with the source file after the data flow runs, delete the source file, or move the source file. I percorsi per lo spostamento sono relativi.The paths for the move are relative.

Per spostare i file di origine in un altro percorso dopo l'elaborazione, selezionare prima di tutto "Sposta" per operazione su file.To move source files to another location post-processing, first select "Move" for file operation. Quindi, impostare la directory "from".Then, set the "from" directory. Se non si usano caratteri jolly per il percorso, l'impostazione "da" sarà la stessa cartella della cartella di origine.If you're not using any wildcards for your path, then the "from" setting will be the same folder as your source folder.

Se si dispone di un percorso di origine con carattere jolly, la sintassi avrà un aspetto simile al seguente:If you have a source path with wildcard, your syntax will look like this below:

/data/sales/20??/**/*.csv

È possibile specificare "from" comeYou can specify "from" as

/data/sales

E "a" comeAnd "to" as

/backup/priorSales

In questo caso, tutti i file originati in/data/Sales vengono spostati in/backup/priorSales.In this case, all files that were sourced under /data/sales are moved to /backup/priorSales.

Nota

Le operazioni sui file vengono eseguite solo quando si avvia il flusso di dati da un'esecuzione di pipeline (esecuzione del debug o esecuzione di una pipeline) che utilizza l'attività Esegui flusso di dati in una pipeline.File operations run only when you start the data flow from a pipeline run (a pipeline debug or execution run) that uses the Execute Data Flow activity in a pipeline. Le operazioni sui file non vengono eseguite nella modalità di debug del flusso di dati.File operations do not run in Data Flow debug mode.

Filtra per Ultima modifica: È possibile filtrare i file elaborati specificando un intervallo di date di data e ora dell'Ultima modifica.Filter by last modified: You can filter which files you process by specifying a date range of when they were last modified. Tutte le ore di data sono in formato UTC.All date-times are in UTC.

Proprietà sinkSink properties

Nella trasformazione sink è possibile scrivere in un contenitore o in una cartella in Azure Data Lake Storage Gen2.In the sink transformation, you can write to either a container or folder in Azure Data Lake Storage Gen2. la scheda Impostazioni consente di gestire il modo in cui i file vengono scritti.the Settings tab lets you manage how the files get written.

opzioni sinksink options

Cancellare la cartella: Determina se la cartella di destinazione viene cancellata prima della scrittura dei dati.Clear the folder: Determines whether or not the destination folder gets cleared before the data is written.

Opzione nome file: Determina la modalità di denominazione dei file di destinazione nella cartella di destinazione.File name option: Determines how the destination files are named in the destination folder. Le opzioni del nome file sono:The file name options are:

  • Impostazione predefinita: consente a Spark di assegnare un nome ai file in base alle impostazioni predefinite della parte.Default: Allow Spark to name files based on PART defaults.
  • Modello: immettere un modello che enumera i file di output per partizione.Pattern: Enter a pattern that enumerates your output files per partition. Ad esempio, Loans [n]. csv creerà loans1. csv, loans2. csv e così via.For example, loans[n].csv will create loans1.csv, loans2.csv, and so on.
  • Per partizione: immettere un nome di file per partizione.Per partition: Enter one file name per partition.
  • Come dati in column: impostare il file di output sul valore di una colonna.As data in column: Set the output file to the value of a column. Il percorso è relativo al contenitore del set di dati e non alla cartella di destinazione.The path is relative to the dataset container, not the destination folder.
  • Output in un singolo file: combina i file di output partizionati in un singolo file denominato.Output to a single file: Combine the partitioned output files into a single named file. Il percorso è relativo alla cartella del set di dati.The path is relative to the dataset folder. Tenere presente che l'operazione di merge di te potrebbe avere esito negativo in base alla dimensione del nodo.Please be aware that te merge operation can possibly fail based upon node size. Questa opzione non è consigliata per i set di impostazioni di grandi dimensioni.This option is not recommended for large datasets.

Tutte le virgolette: Determina se racchiudere tutti i valori tra virgoletteQuote all: Determines whether to enclose all values in quotes

Proprietà attività di ricercaLookup activity properties

Per informazioni dettagliate sulle proprietà, controllare l' attività di ricerca.To learn details about the properties, check Lookup activity.

Proprietà dell'attività GetMetadataGetMetadata activity properties

Per informazioni dettagliate sulle proprietà, controllare l' attività GetMetadataTo learn details about the properties, check GetMetadata activity

Elimina proprietà attivitàDelete activity properties

Per informazioni dettagliate sulle proprietà, controllare l' attività di eliminazioneTo learn details about the properties, check Delete activity

Modelli legacyLegacy models

Nota

I modelli seguenti sono ancora supportati così come sono per la compatibilità con le versioni precedenti.The following models are still supported as-is for backward compatibility. Si consiglia di usare il nuovo modello menzionato nelle sezioni precedenti in futuro e l'interfaccia utente di creazione di ADF ha cambiato la generazione del nuovo modello.You are suggested to use the new model mentioned in above sections going forward, and the ADF authoring UI has switched to generating the new model.

Modello DataSet legacyLegacy dataset model

ProprietàProperty DescriptionDescription ObbligatorioRequired
typetype La proprietà type del set di dati deve essere impostata su AzureBlobFSFile.The type property of the dataset must be set to AzureBlobFSFile. Yes
folderPathfolderPath Percorso della cartella in Data Lake Storage Gen2.Path to the folder in Data Lake Storage Gen2. Se il valore non è specificato, punta alla radice.If not specified, it points to the root.

Il filtro con caratteri jolly è supportato.Wildcard filter is supported. I caratteri jolly consentiti sono * (corrisponde a zero o più caratteri) e ? (corrisponde a zero o a un carattere singolo).Allowed wildcards are * (matches zero or more characters) and ? (matches zero or single character). Usare ^ per eseguire l'escape se il nome effettivo della cartella contiene un carattere jolly o se il carattere di escape è interno.Use ^ to escape if your actual folder name has a wildcard or this escape char is inside.

Esempi: filesystem/Folder/.Examples: filesystem/folder/. Vedere altri esempi in Esempi di filtro file e cartelle.See more examples in Folder and file filter examples.
NoNo
fileNamefileName Nome o filtro con caratteri jolly per i file sotto il "folderPath" specificato.Name or wildcard filter for the files under the specified "folderPath". Se non si specifica alcun valore per questa proprietà, il set di dati punta a tutti i file nella cartella.If you don't specify a value for this property, the dataset points to all files in the folder.

Per il filtro, i caratteri jolly consentiti sono * (corrisponde a zero o più caratteri) e ? (corrisponde a zero o a un carattere singolo).For filter, the wildcards allowed are * (matches zero or more characters) and ? (matches zero or single character).
- Esempio 1: "fileName": "*.csv"- Example 1: "fileName": "*.csv"
- Esempio 2: "fileName": "???20180427.txt"- Example 2: "fileName": "???20180427.txt"
Usare ^ per eseguire l'escape se il nome file effettivo contiene un carattere jolly o se il carattere di escape è all'interno.Use ^ to escape if your actual file name has a wildcard or this escape char is inside.

Quando fileName non è specificato per un set di dati di output e preserveHierarchy non è specificato nel sink dell'attività, l'attività di copia genera automaticamente il nome del file con il modello seguente: "Data. [ GUID ID esecuzione attività]. [GUID se FlattenHierarchy]. [format se configurato]. [compressione se configurata] ", ad esempio" Data. 0a405f8a-93ff-4C6F-B3BE-f69616f1df7a. txt. gz ".When fileName isn't specified for an output dataset and preserveHierarchy isn't specified in the activity sink, the copy activity automatically generates the file name with the following pattern: "Data.[activity run ID GUID].[GUID if FlattenHierarchy].[format if configured].[compression if configured]", for example, "Data.0a405f8a-93ff-4c6f-b3be-f69616f1df7a.txt.gz". Se si copia da un'origine tabulare usando un nome di tabella anziché una query, il modello del nome è " [nome tabella]. [ formato]. [compressione se configurata] ", ad esempio" MyTable. csv ".If you copy from a tabular source using a table name instead of a query, the name pattern is "[table name].[format].[compression if configured]", for example, "MyTable.csv".
NoNo
modifiedDatetimeStartmodifiedDatetimeStart Filtro file basato sull'Ultima modifica dell'attributo.Files filter based on the attribute Last Modified. I file vengono selezionati se l'ora dell'Ultima modifica rientra nell'intervallo di tempo compreso tra modifiedDatetimeStart e modifiedDatetimeEnd.The files are selected if their last modified time is within the time range between modifiedDatetimeStart and modifiedDatetimeEnd. L'ora viene applicata al fuso orario UTC nel formato "2018-12-01T05:00:00Z".The time is applied to the UTC time zone in the format of "2018-12-01T05:00:00Z".

Le prestazioni complessive dello spostamento dei dati sono interessate dall'abilitazione di questa impostazione quando si desidera eseguire un filtro di file con grandi quantità di file.The overall performance of data movement is affected by enabling this setting when you want to do file filter with huge amounts of files.

Le proprietà possono essere NULL, il che significa che al set di dati non viene applicato alcun filtro di attributi di file.The properties can be NULL, which means no file attribute filter is applied to the dataset. Quando modifiedDatetimeStart dispone di un valore DateTime, ma modifiedDatetimeEnd è NULL, significa che i file il cui ultimo attributo modificato è maggiore o uguale al valore DateTime sono selezionati.When modifiedDatetimeStart has a datetime value but modifiedDatetimeEnd is NULL, it means the files whose last modified attribute is greater than or equal to the datetime value are selected. Quando modifiedDatetimeEnd dispone di un valore DateTime ma modifiedDatetimeStart è NULL, significa che i file il cui ultimo attributo è minore del valore DateTime sono selezionati.When modifiedDatetimeEnd has a datetime value but modifiedDatetimeStart is NULL, it means the files whose last modified attribute is less than the datetime value are selected.
NoNo
modifiedDatetimeEndmodifiedDatetimeEnd Filtro file basato sull'Ultima modifica dell'attributo.Files filter based on the attribute Last Modified. I file vengono selezionati se l'ora dell'Ultima modifica rientra nell'intervallo di tempo compreso tra modifiedDatetimeStart e modifiedDatetimeEnd.The files are selected if their last modified time is within the time range between modifiedDatetimeStart and modifiedDatetimeEnd. L'ora viene applicata al fuso orario UTC nel formato "2018-12-01T05:00:00Z".The time is applied to the UTC time zone in the format of "2018-12-01T05:00:00Z".

Le prestazioni complessive dello spostamento dei dati sono interessate dall'abilitazione di questa impostazione quando si desidera eseguire un filtro di file con grandi quantità di file.The overall performance of data movement is affected by enabling this setting when you want to do file filter with huge amounts of files.

Le proprietà possono essere NULL, il che significa che al set di dati non viene applicato alcun filtro di attributi di file.The properties can be NULL, which means no file attribute filter is applied to the dataset. Quando modifiedDatetimeStart dispone di un valore DateTime, ma modifiedDatetimeEnd è NULL, significa che i file il cui ultimo attributo modificato è maggiore o uguale al valore DateTime sono selezionati.When modifiedDatetimeStart has a datetime value but modifiedDatetimeEnd is NULL, it means the files whose last modified attribute is greater than or equal to the datetime value are selected. Quando modifiedDatetimeEnd dispone di un valore DateTime ma modifiedDatetimeStart è NULL, significa che i file il cui ultimo attributo è minore del valore DateTime sono selezionati.When modifiedDatetimeEnd has a datetime value but modifiedDatetimeStart is NULL, it means the files whose last modified attribute is less than the datetime value are selected.
NoNo
formatformat 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.If you want to copy files as is between file-based stores (binary copy), skip the format section in both the input and output dataset definitions.

Se si vuole analizzare o generare file con un formato specifico, sono supportati i tipi di formato seguenti: TextFormat, JsonFormat, AvroFormat, OrcFormat e ParquetFormat.If you want to parse or generate files with a specific format, the following file format types are supported: TextFormat, JsonFormat, AvroFormat, OrcFormat, and ParquetFormat. Impostare la proprietà type in format su uno di questi valori.Set the type property under format to one of these values. Per altre informazioni, vedere le sezioni formato testo, formato JSON, formato Avro, formato ORCe formato parquet .For more information, see the Text format, JSON format, Avro format, ORC format, and Parquet format sections.
No (solo per uno scenario di copia binaria)No (only for binary copy scenario)
compressionecompression Specificare il tipo e il livello di compressione dei dati.Specify the type and level of compression for the data. Per altre informazioni, vedere l'articolo sui formati di file supportati e i codec di compressione.For more information, see Supported file formats and compression codecs.
I tipi supportati sono GZip, Deflate, BZip2 e ZipDeflate.Supported types are GZip, Deflate, BZip2, and ZipDeflate.
I livelli supportati sono Ottimale e Più veloce.Supported levels are Optimal and Fastest.
NoNo

Suggerimento

Per copiare tutti i file in una cartella, specificare solo folderPath.To copy all files under a folder, specify folderPath only.
Per copiare un singolo file con un determinato nome, specificare folderPath con una parte di cartella e filename con un nome file.To copy a single file with a given name, specify folderPath with a folder part and fileName with a file name.
Per copiare un subset di file in una cartella, specificare folderPath con una parte di cartella e filename con un filtro con caratteri jolly.To copy a subset of files under a folder, specify folderPath with a folder part and fileName with a wildcard filter.

Esempio:Example:

{
    "name": "ADLSGen2Dataset",
    "properties": {
        "type": "AzureBlobFSFile",
        "linkedServiceName": {
            "referenceName": "<Azure Data Lake Storage Gen2 linked service name>",
            "type": "LinkedServiceReference"
        },
        "typeProperties": {
            "folderPath": "myfilesystem/myfolder",
            "fileName": "*",
            "modifiedDatetimeStart": "2018-12-01T05:00:00Z",
            "modifiedDatetimeEnd": "2018-12-01T06:00:00Z",
            "format": {
                "type": "TextFormat",
                "columnDelimiter": ",",
                "rowDelimiter": "\n"
            },
            "compression": {
                "type": "GZip",
                "level": "Optimal"
            }
        }
    }
}

Modello di origine dell'attività di copia legacyLegacy copy activity source model

ProprietàProperty DescriptionDescription ObbligatorioRequired
typetype La proprietà type dell'origine dell'attività di copia deve essere impostata su AzureBlobFSSource.The type property of the copy activity source must be set to AzureBlobFSSource. Yes
ricorsivarecursive Indica se i dati vengono letti in modo ricorsivo dalle cartelle secondarie o solo dalla cartella specificata.Indicates whether the data is read recursively from the subfolders or only from the specified folder. Quando l'opzione ricorsiva è impostata su true e il sink è un archivio basato su file, una cartella o una sottocartella vuota non viene copiata o creata nel sink.When recursive is set to true and the sink is a file-based store, an empty folder or subfolder isn't copied or created at the sink.
I valori consentiti sono true (predefinito) e false.Allowed values are true (default) and false.
NoNo
maxConcurrentConnectionsmaxConcurrentConnections Numero di connessioni per la connessione all'archivio dati contemporaneamente.The number of connections to connect to the data store concurrently. Specificare solo quando si desidera limitare la connessione simultanea all'archivio dati.Specify only when you want to limit the concurrent connection to the data store. NoNo

Esempio:Example:

"activities":[
    {
        "name": "CopyFromADLSGen2",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<ADLS Gen2 input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "AzureBlobFSSource",
                "recursive": true
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Modello di sink dell'attività di copia legacyLegacy copy activity sink model

ProprietàProperty DescriptionDescription ObbligatorioRequired
typetype La proprietà type del sink dell'attività di copia deve essere impostata su AzureBlobFSSink.The type property of the copy activity sink must be set to AzureBlobFSSink. Yes
copyBehaviorcopyBehavior Definisce il comportamento di copia quando l'origine è costituita da file di un archivio dati basato su file.Defines the copy behavior when the source is files from a file-based data store.

I valori consentiti sono i seguenti:Allowed values are:
- PreserveHierarchy (predefinito): mantiene la gerarchia dei file nella cartella di destinazione.- PreserveHierarchy (default): Preserves the file hierarchy in the target folder. Il percorso relativo del file di origine nella cartella di origine è identico al percorso relativo del file di destinazione nella cartella di destinazione.The relative path of the source file to the source folder is identical to the relative path of the target file to the target folder.
- FlattenHierarchy: tutti i file della cartella di origine si trovano nel primo livello della cartella di destinazione.- FlattenHierarchy: All files from the source folder are in the first level of the target folder. I nomi dei file di destinazione vengono generati automaticamente.The target files have autogenerated names.
- MergeFiles: unisce tutti i file della cartella di origine in un solo file.- MergeFiles: Merges all files from the source folder to one file. Se si specifica il nome di file, il nome del file unito sarà il nome specificato.If the file name is specified, the merged file name is the specified name. In caso contrario, verrà usato un nome di file generato automaticamente.Otherwise, it's an autogenerated file name.
NoNo
maxConcurrentConnectionsmaxConcurrentConnections Numero di connessioni per la connessione all'archivio dati contemporaneamente.The number of connections to connect to the data store concurrently. Specificare solo quando si desidera limitare la connessione simultanea all'archivio dati.Specify only when you want to limit the concurrent connection to the data store. NoNo

Esempio:Example:

"activities":[
    {
        "name": "CopyToADLSGen2",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<ADLS Gen2 output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "<source type>"
            },
            "sink": {
                "type": "AzureBlobFSSink",
                "copyBehavior": "PreserveHierarchy"
            }
        }
    }
]

Passaggi successiviNext steps

Per un elenco degli archivi dati supportati come origini e sink dall'attività di copia in Data Factory, vedere gli archivi dati supportati.For a list of data stores supported as sources and sinks by the copy activity in Data Factory, see Supported data stores.