Copiare dati da o verso Azure Data Lake Storage Gen1 usando Azure Data FactoryCopy data to or from Azure Data Lake Storage Gen1 using Azure Data Factory

Questo articolo illustra come copiare dati da e verso Azure Data Lake Storage Gen1.This article outlines how to copy data to and from Azure Data Lake Storage Gen1. 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 Gen1 è supportato per le attività seguenti:This Azure Data Lake Storage Gen1 connector is supported for the following activities:

In particolare, con questo connettore è possibile:Specifically, with this connector you can:

Importante

Se si copiano i dati tramite il runtime di integrazione self-hosted, configurare il firewall aziendale in modo da consentire il traffico in uscita per <ADLS account name>.azuredatalakestore.net e login.microsoftonline.com/<tenant>/oauth2/token sulla porta 443.If you copy data by using the self-hosted integration runtime, configure the corporate firewall to allow outbound traffic to <ADLS account name>.azuredatalakestore.net and login.microsoftonline.com/<tenant>/oauth2/token on port 443. Quest'ultimo è il servizio token di sicurezza di Azure con cui deve comunicare il runtime di integrazione per ottenere il token di accesso.The latter is the Azure Security Token Service that the integration runtime needs to communicate with to get the access token.

Inizia oggi stessoGet started

Suggerimento

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

È 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 Azure Data Lake Store.The following sections provide information about properties that are used to define Data Factory entities specific to Azure Data Lake Store.

Proprietà del servizio collegatoLinked service properties

Per il servizio collegato ad Azure Data Lake Store sono supportate le proprietà seguenti:The following properties are supported for the Azure Data Lake Store linked service:

ProprietàProperty DescriptionDescription ObbligatoriaRequired
typetype La proprietà type deve essere impostata su AzureDataLakeStore.The type property must be set to AzureDataLakeStore. Yes
dataLakeStoreUridataLakeStoreUri Informazioni sull'account Azure Data Lake Store.Information about the Azure Data Lake Store account. Queste informazioni accettano uno dei seguenti formati: https://[accountname].azuredatalakestore.net/webhdfs/v1 o adl://[accountname].azuredatalakestore.net/.This information takes one of the following formats: https://[accountname].azuredatalakestore.net/webhdfs/v1 or adl://[accountname].azuredatalakestore.net/. Yes
subscriptionIdsubscriptionId ID sottoscrizione di Azure a cui l'account Data Lake Store appartiene.The Azure subscription ID to which the Data Lake Store account belongs. Richiesto per il sinkRequired for sink
resourceGroupNameresourceGroupName Nome del gruppo di risorse di Azure a cui l'account Data Lake Store appartiene.The Azure resource group name to which the Data Lake Store account belongs. Richiesto per il sinkRequired for sink
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 located 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

Usare l'autenticazione basata su entità servizioUse service 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 e concedergli l'accesso ai Data Lake Store.Register an application entity in Azure Active Directory and grant it access to Data Lake Store. Per la procedura dettaglia, vedere Autenticazione da servizio a servizio.For detailed steps, see Service-to-service authentication. 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 Gen1 dal controllo di accesso nel Azure Data Lake storage Gen1.See examples on how permission works in Data Lake Storage Gen1 from Access control in Azure Data Lake Storage Gen1.

    • Come origine: in Esplora dati > accedere, concedere almeno l'autorizzazione Execute per tutte le cartelle upstream, inclusa la radice, insieme all'autorizzazione di lettura per i file da copiare.As source: In Data explorer > Access, grant at least Execute permission for ALL upstream folders including the root, along with Read permission for the files to copy. È possibile scegliere di aggiungere a Questa cartella e tutti gli elementi figlio come ricorsiva, e aggiungere come una voce di autorizzazione di accesso e una voce di autorizzazione predefinita.You can choose to add to This folder and all children for recursive, and add as an access permission and a default permission entry. Non sono previsti requisiti per il controllo di accesso a livello di account (IAM).There's no requirement on account-level access control (IAM).
    • Come sink: in Esplora dati > accedere, concedere almeno l'autorizzazione Execute per tutte le cartelle upstream, inclusa la radice, oltre all'autorizzazione di scrittura per la cartella sink.As sink: In Data explorer > Access, grant at least Execute permission for ALL upstream folders including the root, along with Write permission for the sink folder. È possibile scegliere di aggiungere a Questa cartella e tutti gli elementi figlio come ricorsiva, e aggiungere come una voce di autorizzazione di accesso e una voce di autorizzazione predefinita.You can choose to add to This folder and all children for recursive, and add as an access permission and a default permission entry. Se si usa un runtime di integrazione di Azure per copiare (sia l'origine che il sink si trovano nel cloud), in IAM concedere almeno il ruolo lettore per consentire Data Factory rilevare l'area per data Lake Store.If you use an Azure integration runtime to copy (both source and sink are in the cloud), in IAM, grant at least the Reader role in order to let Data Factory detect the region for Data Lake Store. Se si vuole evitare questo ruolo IAM, creare un runtime di integrazione di Azure in modo esplicito con la posizione di Data Lake Store.If you want to avoid this IAM role, explicitly create an Azure integration runtime with the location of Data Lake Store. Ad esempio, se il Data Lake Store si trova in Europa occidentale, creare un runtime di integrazione di Azure con la località impostata su "Europa occidentale".For example, if your Data Lake Store is in West Europe, create an Azure integration runtime with location set to "West Europe." Associarli nel servizio collegato Data Lake Store come illustrato nell'esempio seguente.Associate them in the Data Lake Store linked service as shown in the following example.

Sono supportate le proprietà seguenti:The following properties are supported:

ProprietàProperty DescriptionDescription ObbligatoriaRequired
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 in Data Factory oppure 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
tenanttenant Specificare le informazioni sul tenant, ad esempio il nome di dominio o l'ID tenant, in cui risiede l'applicazione.Specify the tenant information, such as domain name or tenant ID, under which your application resides. È possibile recuperarlo passando il cursore del mouse sull'angolo superiore destro del portale di Azure.You can retrieve it by hovering the mouse in the upper-right corner of the Azure portal. Yes

Esempio:Example:

{
    "name": "AzureDataLakeStoreLinkedService",
    "properties": {
        "type": "AzureDataLakeStore",
        "typeProperties": {
            "dataLakeStoreUri": "https://<accountname>.azuredatalakestore.net/webhdfs/v1",
            "servicePrincipalId": "<service principal id>",
            "servicePrincipalKey": {
                "type": "SecureString",
                "value": "<service principal key>"
            },
            "tenant": "<tenant info, e.g. microsoft.onmicrosoft.com>",
            "subscriptionId": "<subscription of ADLS>",
            "resourceGroupName": "<resource group of ADLS>"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Usare le entità gestite per l'autenticazione delle risorse di AzureUse managed 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 Store, in modo analogo all'uso della propria entità servizio.You can directly use this managed identity for Data Lake Store authentication, similar to using your own service principal. Consente alla factory designata di accedere e copiare i dati da e verso Data Lake Store.It allows this designated factory to access and copy data to or from Data Lake Store.

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

  1. Recuperare le informazioni sull'identità gestita di data factory copiando il valore dell'ID dell'applicazione di identità del servizio generato insieme alla Factory.Retrieve the data factory managed identity information by copying the value of the "Service Identity Application ID" generated along with your factory.

  2. Concedere all'identità gestita l'accesso Data Lake Store.Grant the managed identity access to Data Lake Store. Vedere esempi su come funziona l'autorizzazione in Data Lake Storage Gen1 dal controllo di accesso nel Azure Data Lake storage Gen1.See examples on how permission works in Data Lake Storage Gen1 from Access control in Azure Data Lake Storage Gen1.

    • Come origine: in Esplora dati > accedere, concedere almeno l'autorizzazione Execute per tutte le cartelle upstream, inclusa la radice, insieme all'autorizzazione di lettura per i file da copiare.As source: In Data explorer > Access, grant at least Execute permission for ALL upstream folders including the root, along with Read permission for the files to copy. È possibile scegliere di aggiungere a Questa cartella e tutti gli elementi figlio come ricorsiva, e aggiungere come una voce di autorizzazione di accesso e una voce di autorizzazione predefinita.You can choose to add to This folder and all children for recursive, and add as an access permission and a default permission entry. Non sono previsti requisiti per il controllo di accesso a livello di account (IAM).There's no requirement on account-level access control (IAM).
    • Come sink: in Esplora dati > accedere, concedere almeno l'autorizzazione Execute per tutte le cartelle upstream, inclusa la radice, oltre all'autorizzazione di scrittura per la cartella sink.As sink: In Data explorer > Access, grant at least Execute permission for ALL upstream folders including the root, along with Write permission for the sink folder. È possibile scegliere di aggiungere a Questa cartella e tutti gli elementi figlio come ricorsiva, e aggiungere come una voce di autorizzazione di accesso e una voce di autorizzazione predefinita.You can choose to add to This folder and all children for recursive, and add as an access permission and a default permission entry. Se si usa un runtime di integrazione di Azure per copiare (sia l'origine che il sink si trovano nel cloud), in IAM concedere almeno il ruolo lettore per consentire Data Factory rilevare l'area per data Lake Store.If you use an Azure integration runtime to copy (both source and sink are in the cloud), in IAM, grant at least the Reader role in order to let Data Factory detect the region for Data Lake Store. Se si vuole evitare questo ruolo IAM, creare un runtime di integrazione di Azure in modo esplicito con la posizione di Data Lake Store.If you want to avoid this IAM role, explicitly create an Azure integration runtime with the location of Data Lake Store. Associarli nel servizio collegato Data Lake Store come illustrato nell'esempio seguente.Associate them in the Data Lake Store linked service as shown in the following example.

In Azure Data Factory non è necessario specificare alcuna proprietà oltre alle informazioni generali di Data Lake Store nel servizio collegato.In Azure Data Factory, you don't need to specify any properties besides the general Data Lake Store information in the linked service.

Esempio:Example:

{
    "name": "AzureDataLakeStoreLinkedService",
    "properties": {
        "type": "AzureDataLakeStore",
        "typeProperties": {
            "dataLakeStoreUri": "https://<accountname>.azuredatalakestore.net/webhdfs/v1",
            "subscriptionId": "<subscription of ADLS>",
            "resourceGroupName": "<resource group of ADLS>"
        },
        "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 dati, vedere l'articolo Set di dati.For a full list of sections and properties available for defining datasets, see the Datasets article.

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 Azure Data Lake Store Gen1 in impostazioni location nel set di dati basato sul formato:The following properties are supported for Azure Data Lake Store Gen1 under location settings in the format-based dataset:

ProprietàProperty DescriptionDescription ObbligatoriaRequired
typetype La proprietà Type in location nel set di dati deve essere impostata su AzureDataLakeStoreLocation.The type property under location in the dataset must be set to AzureDataLakeStoreLocation. Yes
folderPathfolderPath Percorso di una cartella.The path to a folder. 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 sotto il folderPath specificato.The file name under the given 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": "<ADLS Gen1 linked service name>",
            "type": "LinkedServiceReference"
        },
        "schema": [ < physical schema, optional, auto retrieved during authoring > ],
        "typeProperties": {
            "location": {
                "type": "AzureDataLakeStoreLocation",
                "folderPath": "root/folder/subfolder"
            },
            "columnDelimiter": ",",
            "quoteChar": "\"",
            "firstRowAsHeader": true,
            "compressionCodec": "gzip"
        }
    }
}

Modello DataSet legacyLegacy dataset model

Nota

Il modello di set di dati seguente è ancora supportato così com'è per la compatibilità con le versioni precedenti.The following dataset model is still supported as-is for backward compatibility. Si consiglia di usare il nuovo modello menzionato nella sezione precedente 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 section going forward, and the ADF authoring UI has switched to generating the new model.

ProprietàProperty DescriptionDescription ObbligatoriaRequired
typetype La proprietà Type del set di dati deve essere impostata su AzureDataLakeStoreFile.The type property of the dataset must be set to AzureDataLakeStoreFile. Yes
folderPathfolderPath Percorso della cartella in Data Lake Store.Path to the folder in Data Lake Store. 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 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.

Ad esempio: RootFolder/sottocartella/.For example: rootfolder/subfolder/. 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 il carattere di escape.Use ^ to escape if your actual file name has a wildcard or this escape char 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 by 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 Se si desidera copiare i file così come sono tra archivi basati su file (copia binaria), ignorare la sezione del formato nelle definizioni del 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 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 OCR e 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 nome specifico, specificare folderPath con una parte di cartella e filename con un nome file.To copy a single file with a particular 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": "ADLSDataset",
    "properties": {
        "type": "AzureDataLakeStoreFile",
        "linkedServiceName":{
            "referenceName": "<ADLS linked service name>",
            "type": "LinkedServiceReference"
        },
        "typeProperties": {
            "folderPath": "datalake/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"
            }
        }
    }
}

Proprietà dell'attività di copiaCopy activity properties

Per un elenco completo delle sezioni e delle proprietà disponibili per la definizione delle attività, vedere l'articolo sulle pipeline.For a full list of sections and properties available for defining activities, see Pipelines. Questa sezione presenta un elenco delle proprietà supportate dall'origine e dal sink di Azure Data Lake Store.This section provides a list of properties supported by Azure Data Lake Store source and sink.

Azure Data Lake Store come origineAzure Data Lake Store as source

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.

Per Azure Data Lake Store Gen1 in impostazioni storeSettings nell'origine copia basata sul formato sono supportate le proprietà seguenti:The following properties are supported for Azure Data Lake Store Gen1 under storeSettings settings in the format-based copy source:

ProprietàProperty DescriptionDescription ObbligatoriaRequired
typetype La proprietà Type in storeSettings deve essere impostata su AzureDataLakeStoreReadSetting.The type property under storeSettings must be set to AzureDataLakeStoreReadSetting. 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 Percorso della cartella con caratteri jolly per filtrare le cartelle di origine.The folder path with wildcard characters 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 folderPath/wildcardFolderPath specificato per filtrare i file di origine.The file name with wildcard characters under the given 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 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 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": "CopyFromADLSGen1",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<Delimited text input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "DelimitedTextSource",
                "formatSettings":{
                    "type": "DelimitedTextReadSetting",
                    "skipLineCount": 10
                },
                "storeSettings":{
                    "type": "AzureDataLakeStoreReadSetting",
                    "recursive": true,
                    "wildcardFolderPath": "myfolder*A",
                    "wildcardFileName": "*.csv"
                }
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Modello di origine legacyLegacy source model

Nota

Il modello di origine della copia seguente è ancora supportato così com'è per la compatibilità con le versioni precedenti.The following copy source model is still supported as-is for backward compatibility. Si consiglia di usare il nuovo modello menzionato in precedenza e l'interfaccia utente di creazione di ADF ha cambiato la generazione del nuovo modello.You are suggested to use the new model mentioned above going forward, and the ADF authoring UI has switched to generating the new model.

ProprietàProperty DescriptionDescription ObbligatoriaRequired
typetype La proprietà type dell'origine dell'attività di copia deve essere impostata su AzureDataLakeStoreSource.The type property of the copy activity source must be set to AzureDataLakeStoreSource. 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 recursive è impostato 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": "CopyFromADLSGen1",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<ADLS Gen1 input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "AzureDataLakeStoreSource",
                "recursive": true
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Azure Data Lake Store come sinkAzure Data Lake Store as sink

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.

Per Azure Data Lake Store Gen1 in impostazioni storeSettings nel sink di copia basato sul formato sono supportate le proprietà seguenti:The following properties are supported for Azure Data Lake Store Gen1 under storeSettings settings in the format-based copy sink:

ProprietàProperty DescriptionDescription ObbligatoriaRequired
typetype La proprietà Type in storeSettings deve essere impostata su AzureDataLakeStoreWriteSetting.The type property under storeSettings must be set to AzureDataLakeStoreWriteSetting. 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": "CopyToADLSGen1",
        "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": "AzureDataLakeStoreWriteSetting",
                    "copyBehavior": "PreserveHierarchy"
                }
            }
        }
    }
]

Modello di sink legacyLegacy sink model

Nota

Il modello di sink di copia seguente è ancora supportato così com'è per la compatibilità con le versioni precedenti.The following copy sink model is still supported as-is for backward compatibility. Si consiglia di usare il nuovo modello menzionato in precedenza e l'interfaccia utente di creazione di ADF ha cambiato la generazione del nuovo modello.You are suggested to use the new model mentioned above going forward, and the ADF authoring UI has switched to generating the new model.

ProprietàProperty DescriptionDescription ObbligatoriaRequired
typetype La proprietà type del sink dell'attività di copia deve essere impostata su AzureDataLakeStoreSink.The type property of the copy activity sink must be set to AzureDataLakeStoreSink. 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, il nome del file viene generato automaticamente.Otherwise, the file name is autogenerated.
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": "CopyToADLSGen1",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<ADLS Gen1 output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "<source type>"
            },
            "sink": {
                "type": "AzureDataLakeStoreSink",
                "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

Esempi di comportamento dell'operazione di copiaExamples of behavior of the copy operation

Questa sezione descrive il comportamento risultante dell'operazione di copia per diverse combinazioni di valori recursive 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 + File5 vengono uniti in un unico file, con un nome file 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 vengono prelevati.Subfolder1 with File3, File4, and File5 aren'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 vengono prelevati.Subfolder1 with File3, File4, and File5 aren'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 vengono uniti in un unico file con il nome file generato automaticamente.    File1 + File2 contents are merged into one file with autogenerated file name. Nome generato automaticamente per File1autogenerated name for File1

Sottocartella1 con file3, file4 e File5 non vengono prelevati.Subfolder1 with File3, File4, and File5 aren't picked up.

Mantieni ACL per Data Lake Storage Gen2Preserve ACLs to Data Lake Storage Gen2

Se si desidera replicare gli elenchi di controllo di accesso (ACL) insieme ai file di dati quando si esegue l'aggiornamento da Data Lake Storage Gen1 a Data Lake Storage Gen2, vedere mantenere gli ACL da data Lake storage Gen1.If you want to replicate the access control lists (ACLs) along with data files when you upgrade from Data Lake Storage Gen1 to Data Lake Storage Gen2, see Preserve ACLs from Data Lake Storage Gen1.

Mapping delle proprietà del flusso di datiMapping data flow properties

Ulteriori informazioni sulla trasformazione origine e sulla trasformazione sink nella funzionalità flusso di dati di mapping.Learn more about source transformation and sink transformation in the mapping data flow feature.

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

Passaggi successiviNext steps

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