Copiare dati da e in Archiviazione BLOB di Azure usando Azure Data FactoryCopy data to or from Azure Blob storage by using Azure Data Factory

Questo articolo illustra come copiare dati da e verso archiviazione Blob di Azure.This article outlines how to copy data to and from Azure Blob storage. Per altre informazioni su Azure Data Factory, vedere l'articolo introduttivo.To learn about Azure Data Factory, read the introductory article.

Nota

Questo articolo è stato aggiornato per usare il nuovo modulo Az di Azure PowerShell.This article has been updated to use the new Azure PowerShell Az module. È comunque possibile usare il modulo AzureRM, che continuerà a ricevere correzioni di bug almeno fino a dicembre 2020.You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Per altre informazioni sul nuovo modulo Az e sulla compatibilità di AzureRM, vedere Introduzione del nuovo modulo Az di Azure PowerShell.To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Per istruzioni sull'installazione del modulo Az, vedere Installare Azure PowerShell.For Az module installation instructions, see Install Azure PowerShell.

Funzionalità supportateSupported capabilities

Questo connettore Blob di Azure è supportato per le attività seguenti:This Azure Blob connector is supported for the following activities:

In particolare, il connettore di Archiviazione BLOB supporta:Specifically, this Blob storage connector supports:

  • La copia di BLOB in e da account di archiviazione di Azure per utilizzo generico e servizi di Archiviazione BLOB ad accesso frequente o sporadico.Copying blobs to and from general-purpose Azure storage accounts and hot/cool blob storage.
  • La copia di BLOB tramite autenticazione con chiave dell'account, firma di accesso condiviso del servizio, entità servizio o identità gestite per le risorse di Azure.Copying blobs by using account key, service shared access signature, service principal or managed identities for Azure resources authentications.
  • La copia di BLOB da BLOB in blocchi, di aggiunta o di pagine e la copia di dati solo in BLOB in blocchi.Copying blobs from block, append, or page blobs and copying data to only block blobs.
  • La copia di BLOB così come sono o l'analisi o generazione di BLOB con i formati di file e i codec di compressione supportati.Copying blobs as is or parsing or generating blobs with supported file formats and compression codecs.

Nota

Se si abilita il "Consenti attendibili i servizi Microsoft per accedere a questo account di archiviazione" opzione impostazioni firewall archiviazione di Azure, tramite Azure Integration Runtime per connettersi all'archiviazione Blob avrà esito negativo con un errore non consentito, perché non è Azure Data factory considerato come un servizio Microsoft attendibile.If you enable the "Allow trusted Microsoft services to access this storage account" option on Azure Storage firewall settings, using Azure Integration Runtime to connect to Blob storage will fail with a forbidden error, as ADF is not treated as a trusted Microsoft service. Connettersi tramite un Runtime di integrazione Self-Hosted invece.Please connect via a Self-hosted Integration Runtime instead.

Attività inizialiGet started

È 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 riportano informazioni dettagliate sulle proprietà usate per definire entità di Data Factory specifiche per Archiviazione BLOB.The following sections provide details about properties that are used to define Data Factory entities specific to Blob storage.

Proprietà del servizio collegatoLinked service properties

Il connettore BLOB di Azure supporta i seguenti tipi di autenticazione. Vedere la sezione corrispondente per le informazioni dettagliate:Azure Blob connector support the following authentication types, refer to the corresponding section on details:

Nota

Quando si usa PolyBase per caricare dati in SQL Data Warehouse, se l'origine o un archivio Blob di staging è configurato con endpoint di rete virtuale, è necessario usare l'autenticazione identità gestita come richiesto da PolyBase e usare il Runtime di integrazione Self-Hosted con la versione 3.18 o versione successiva.When using PolyBase to load data into SQL Data Warehouse, if your source or staging Blob storage is configured with Virtual Network endpoint, you must use managed identity authentication as required by PolyBase, and use Self-hosted Integration Runtime with version 3.18 or above. Vedere le autenticazione identità gestita sezione con ulteriori prerequisiti di configurazione.See the managed identity authentication section with more configuration prerequisites.

Nota

Le attività di HDInsights e Azure Machine Learning supportano solo l'autenticazione chiave dell'account di archiviazione Blob di Azure.HDInsights and Azure Machine Learning activities only support Azure Blob storage account key authentication.

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 DescrizioneDescription ObbligatoriaRequired
typetype La proprietà tipo deve essere impostata su AzureBlobStorage (consigliato) o AzureStorage (vedere le note sottostanti).The type property must be set to AzureBlobStorage (suggested) or AzureStorage (see notes below). Yes
connectionStringconnectionString Specificare le informazioni necessarie per connettersi all'archiviazione per la proprietà connectionString.Specify the information needed to connect to Storage for the connectionString property.
Contrassegnare questo campo come SecureString per archiviare la chiave in modo sicuro in Data Factory.Mark this field as a SecureString to store it securely in Data Factory. È anche possibile inserire la chiave dell'account in Azure Key Vault e rimuovere la configurazione di accountKey dalla stringa di connessione.You can also put account key in Azure Key Vault and pull the accountKey configuration out of the connection string. Vedere gli esempi seguenti e l'articolo Archiviare le credenziali in Azure Key Vault per altri dettagli.Refer to the following samples and Store credentials in Azure Key Vault article with more details.
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. È possibile usare il runtime di integrazione di Azure o il runtime di integrazione self-hosted (se l'archivio dati si trova in una rete privata).You can use Azure Integration Runtime or 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, it uses the default Azure Integration Runtime. NoNo

Nota

L'uso di un servizio collegato di tipo "AzureStorage", è ancora supportato così com'è, tuttavia in futuro verrà consigliato di usare il nuovo tipo di servizio collegato "AzureBlobStorage".If you were using "AzureStorage" type linked service, it is still supported as-is, while you are suggested to use this new "AzureBlobStorage" linked service type going forward.

Esempio:Example:

{
    "name": "AzureBlobStorageLinkedService",
    "properties": {
        "type": "AzureBlobStorage",
        "typeProperties": {
            "connectionString": {
                "type": "SecureString",
                "value": "DefaultEndpointsProtocol=https;AccountName=<accountname>;AccountKey=<accountkey>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Esempio: archiviare la chiave dell'account in Azure Key VaultExample: store account key in Azure Key Vault

{
    "name": "AzureBlobStorageLinkedService",
    "properties": {
        "type": "AzureBlobStorage",
        "typeProperties": {
            "connectionString": {
                "type": "SecureString",
                "value": "DefaultEndpointsProtocol=https;AccountName=<accountname>;"
            },
            "accountKey": { 
                "type": "AzureKeyVaultSecret", 
                "store": { 
                    "referenceName": "<Azure Key Vault linked service name>", 
                    "type": "LinkedServiceReference" 
                }, 
                "secretName": "<secretName>" 
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }            
    }
}

Autenticazione con firma di accesso condivisoShared access signature authentication

Una firma di accesso condiviso fornisce accesso delegato controllato alle risorse dell'account di archiviazione.A shared access signature provides delegated access to resources in your storage account. È possibile usarla per concedere a un client autorizzazioni limitate per gli oggetti nell'account di archiviazione per un periodo di tempo specificato.You can use a shared access signature to grant a client limited permissions to objects in your storage account for a specified time. Non è necessario condividere le chiavi di accesso degli account.You don't have to share your account access keys. La firma di accesso condiviso è un URI che racchiude nei parametri di query tutte le informazioni necessarie per l'accesso autenticato a una risorsa di archiviazione.The shared access signature is a URI that encompasses in its query parameters all the information necessary for authenticated access to a storage resource. Per accedere alle risorse di archiviazione con la firma di accesso condiviso, il client deve solo passare la firma di accesso condiviso al costruttore o al metodo appropriato.To access storage resources with the shared access signature, the client only needs to pass in the shared access signature to the appropriate constructor or method. Per altre informazioni sulle firme di accesso condiviso, vedere Uso delle firme di accesso condiviso.For more information about shared access signatures, see Shared access signatures: Understand the shared access signature model.

Nota

  • Data Factory supporta attualmente sia le firme di accesso condiviso del servizio che le firme di accesso condiviso dell'account.Data Factory now supports both service shared access signatures and account shared access signatures. Per altre informazioni su questi due tipi e sulla modalità di costruzione, vedere Tipi di firme di accesso condiviso.For more information about these two types and how to construct them, see Types of shared access signatures.
  • Nella configurazione successiva dei set di dati il percorso della cartella corrisponde al percorso assoluto a partire dal livello del contenitore.In later dataset configuration, the folder path is the absolute path starting from container level. È necessario configurare un set di dati allineato con il percorso nell'URI SAS.You need to configure one aligned with the path in your SAS URI.

Suggerimento

Per generare una firma di accesso condiviso del servizio per l'account di archiviazione, è possibile eseguire i comandi di PowerShell seguenti.To generate a service shared access signature for your storage account, you can execute the following PowerShell commands. Sostituire i segnaposto e concedere l'autorizzazione necessaria.Replace the placeholders and grant the needed permission. $context = New-AzStorageContext -StorageAccountName <accountName> -StorageAccountKey <accountKey> New-AzStorageContainerSASToken -Name <containerName> -Context $context -Permission rwdl -StartTime <startTime> -ExpiryTime <endTime> -FullUri

Per usare l'autenticazione basata sulla firma di accesso condiviso, sono supportate le proprietà seguenti:To use shared access signature authentication, the following properties are supported:

ProprietàProperty DescrizioneDescription ObbligatoriaRequired
typetype La proprietà tipo deve essere impostata su AzureBlobStorage (consigliato) o AzureStorage (vedere le note sottostanti).The type property must be set to AzureBlobStorage (suggested) or AzureStorage (see notes below). Yes
sasUrisasUri Specificare l'URI della firma di accesso condiviso per le risorse di archiviazione come BLOB o contenitore.Specify the shared access signature URI to the Storage resources such as blob/container.
Contrassegnare questo campo come SecureString per archiviare la chiave in modo sicuro in Data Factory.Mark this field as a SecureString to store it securely in Data Factory. È anche possibile inserire il token di firma di accesso condiviso in Azure Key Vault per sfruttare rotazione automatica e rimuovere la parte del token.You can also put SAS token in Azure Key Vault to leverage auto rotation and remove the token portion. Vedere gli esempi seguenti e l'articolo Archiviare le credenziali in Azure Key Vault per altri dettagli.Refer to the following samples and Store credentials in Azure Key Vault article with more details.
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. È possibile usare Azure Integration Runtime o il runtime di integrazione self-hosted (se l'archivio dati si trova in una rete privata).You can use the Azure Integration Runtime or the Self-hosted Integration Runtime (if your data store is located in a private network). Se non specificato, viene usato il runtime di integrazione di Azure predefinito.If not specified, it uses the default Azure Integration Runtime. NoNo

Nota

L'uso di un servizio collegato di tipo "AzureStorage", è ancora supportato così com'è, tuttavia in futuro verrà consigliato di usare il nuovo tipo di servizio collegato "AzureBlobStorage".If you were using "AzureStorage" type linked service, it is still supported as-is, while you are suggested to use this new "AzureBlobStorage" linked service type going forward.

Esempio:Example:

{
    "name": "AzureBlobStorageLinkedService",
    "properties": {
        "type": "AzureBlobStorage",
        "typeProperties": {
            "sasUri": {
                "type": "SecureString",
                "value": "<SAS URI of the Azure Storage resource e.g. https://<container>.blob.core.windows.net/?sv=<storage version>&amp;st=<start time>&amp;se=<expire time>&amp;sr=<resource>&amp;sp=<permissions>&amp;sip=<ip range>&amp;spr=<protocol>&amp;sig=<signature>>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Esempio: archiviare la chiave dell'account in Azure Key VaultExample: store account key in Azure Key Vault

{
    "name": "AzureBlobStorageLinkedService",
    "properties": {
        "type": "AzureBlobStorage",
        "typeProperties": {
            "sasUri": {
                "type": "SecureString",
                "value": "<SAS URI of the Azure Storage resource without token e.g. https://<container>.blob.core.windows.net/>"
            },
            "sasToken": { 
                "type": "AzureKeyVaultSecret", 
                "store": { 
                    "referenceName": "<Azure Key Vault linked service name>", 
                    "type": "LinkedServiceReference" 
                }, 
                "secretName": "<secretName>" 
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Quando si crea un URI di firma di accesso condiviso, tenere presente quanto segue:When you create a shared access signature URI, consider the following points:

  • Impostare le autorizzazioni appropriate di lettura o scrittura per gli oggetti in base al modo in cui il servizio collegato (lettura, scrittura, lettura/scrittura) viene usato nella data factory.Set appropriate read/write permissions on objects based on how the linked service (read, write, read/write) is used in your data factory.
  • Impostare Ora di scadenza in modo appropriato.Set Expiry time appropriately. Assicurarsi che l'accesso agli oggetti di archiviazione non scada nel periodo attivo della pipeline.Make sure that the access to Storage objects doesn't expire within the active period of the pipeline.
  • L'URI deve essere creato nel contenitore o nel BLOB corretto, in base alle esigenze.The URI should be created at the right container/blob based on the need. Un URI di firma di accesso condiviso per un BLOB consente a Data Factory di accedere a tale BLOB specifico.A shared access signature URI to a blob allows Data Factory to access that particular blob. Un URI di firma di accesso condiviso per un contenitore di risorse di archiviazione BLOB consente a Data Factory di passare da un BLOB all'altro nel contenitore.A shared access signature URI to a Blob storage container allows Data Factory to iterate through blobs in that container. Per consentire l'accesso a più o meno oggetti in un secondo momento o aggiornare l'URI di firma di accesso condiviso, ricordarsi di aggiornare il servizio collegato con il nuovo URI.To provide access to more or fewer objects later, or to update the shared access signature URI, remember to update the linked service with the new URI.

Autenticazione di un'entità servizioService principal authentication

Per l'autenticazione con entità servizio di archiviazione di Azure in generale, vedere Autenticare l'accesso ad Archiviazione di Azure con Azure Active Directory.For Azure Storage service principal authentication in general, refer to Authenticate access to Azure Storage using Azure Active Directory.

Per usare l'autenticazione basata su entità servizio, eseguire la procedura seguente:To use service principal authentication, follow these steps:

  1. Registrare un'entità applicazione in Azure Active Directory (Azure AD) seguendo le indicazioni fornite in Registrare l'applicazione con un tenant di Azure AD.Register an application entity in Azure Active Directory (Azure AD) by following 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 un'autorizzazione appropriata in Archiviazione BLOB di Azure.Grant the service principal proper permission in Azure Blob storage. Fare riferimento a Gestire i diritti di accesso ai dati di Archiviazione di Azure con RBAC per altri dettagli sui ruoli.Refer to Manage access rights to Azure Storage data with RBAC with more details on the roles.

    • Come origine, in Controllo di accesso (IAM), concedere almeno il ruolo Lettore dei dati dei BLOB di archiviazione.As source, in Access control (IAM), grant at least Storage Blob Data Reader role.
    • Come sink, in Controllo di accesso (IAM), concedere almeno il ruolo Collaboratore dei dati dei BLOB di archiviazione.As sink, in Access control (IAM), grant at least Storage Blob Data Contributor role.

Per un servizio collegato ad Archiviazione BLOB di Azure sono supportate queste proprietà:These properties are supported for an Azure Blob storage linked service:

ProprietàProperty DescrizioneDescription ObbligatoriaRequired
typetype La proprietà type deve essere impostata su: AzureBlobStorage.The type property must be set to AzureBlobStorage. Yes
serviceEndpointserviceEndpoint Specificare l'endpoint del servizio di Archiviazione BLOB di Azure con il criterio https://<accountName>.blob.core.windows.net/.Specify the Azure Blob storage service endpoint with the pattern of https://<accountName>.blob.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 in 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
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. Recuperarle passando il cursore del mouse sull'angolo superiore destro del portale di Azure.Retrieve it by hovering the mouse in the top-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. È possibile usare il runtime di integrazione di Azure o il runtime di integrazione self-hosted (se l'archivio dati si trova in una rete privata).You can use Azure Integration Runtime or 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, it uses the default Azure Integration Runtime. NoNo

Nota

L'autenticazione tramite entità servizio è supportata solo dal servizio collegato di tipo "AzureBlobStorage", ma non dal servizio collegato precedente di tipo "AzureStorage".Service principal authentication is only supported by "AzureBlobStorage" type linked service but not previous "AzureStorage" type linked service.

Esempio:Example:

{
    "name": "AzureBlobStorageLinkedService",
    "properties": {
        "type": "AzureBlobStorage",
        "typeProperties": {            
            "serviceEndpoint": "https://<accountName>.blob.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 di archiviazione Blob simile all'uso dell'entità del servizio.You can directly use this managed identity for Blob storage authentication similar to using your own service principal. Consente alla factory designata di accedere e copiare i dati da/nella risorsa di archiviazione BLOB.It allows this designated factory to access and copy data from/to your Blob storage.

Fare riferimento a autenticare l'accesso all'archiviazione di Azure con Azure Active Directory per l'autenticazione di archiviazione di Azure in generale.Refer to Authenticate access to Azure Storage using Azure Active Directory for Azure Storage authentication in general. Per usare l'autenticazione di identità gestite per le risorse di Azure, seguire questa procedura:To use managed identities for Azure resources authentication, follow these steps:

  1. Recuperare informazioni di identità di data factory gestiti copiando il valore di "SERVICE IDENTITY APPLICATION ID" generato con la factory.Retrieve data factory managed identity information by copying the value of "SERVICE IDENTITY APPLICATION ID" generated along with your factory.

  2. Concedere l'autorizzazione appropriata per l'identità gestita in Archiviazione BLOB di Azure.Grant the managed identity proper permission in Azure Blob storage. Fare riferimento a Gestire i diritti di accesso ai dati di Archiviazione di Azure con RBAC per altri dettagli sui ruoli.Refer to Manage access rights to Azure Storage data with RBAC with more details on the roles.

    • Come origine, in Controllo di accesso (IAM), concedere almeno il ruolo Lettore dei dati dei BLOB di archiviazione.As source, in Access control (IAM), grant at least Storage Blob Data Reader role.
    • Come sink, in Controllo di accesso (IAM), concedere almeno il ruolo Collaboratore dei dati dei BLOB di archiviazione.As sink, in Access control (IAM), grant at least Storage Blob Data Contributor role.

Importante

Se si usa PolyBase per caricare dati dal Blob (come origine o gestione temporanea) in SQL Data Warehouse, quando si usa l'autenticazione identità gestita per Blob, assicurarsi che è anche seguire i passaggi 1 e 2 nella questo materiale sussidiario su 1) registrare il Database SQL server con Azure Active Directory (Azure AD) e 2) assegnare il ruolo di collaboratore ai dati Blob di archiviazione al server di Database SQL; il resto sono gestite da Data Factory.If you use PolyBase to load data from Blob (as source or as staging) into SQL Data Warehouse, when using managed identity authentication for Blob, 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 l'archivio Blob è configurato con un endpoint di rete virtuale di Azure, per usare PolyBase per caricare i dati da esso, è necessario utilizzare l'autenticazione identità gestita come richiesto da PolyBase.If your Blob storage 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.

Per un servizio collegato ad Archiviazione BLOB di Azure sono supportate queste proprietà:These properties are supported for an Azure Blob storage linked service:

ProprietàProperty DescrizioneDescription ObbligatoriaRequired
typetype La proprietà type deve essere impostata su: AzureBlobStorage.The type property must be set to AzureBlobStorage. Yes
serviceEndpointserviceEndpoint Specificare l'endpoint del servizio di Archiviazione BLOB di Azure con il criterio https://<accountName>.blob.core.windows.net/.Specify the Azure Blob storage service endpoint with the pattern of https://<accountName>.blob.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. È possibile usare il runtime di integrazione di Azure o il runtime di integrazione self-hosted (se l'archivio dati si trova in una rete privata).You can use Azure Integration Runtime or 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, it uses the default Azure Integration Runtime. NoNo

Nota

L'autenticazione di identità gestite per le risorse di Azure è supportata solo dal servizio collegato di tipo "AzureBlobStorage", ma non dal servizio collegato precedente di tipo "AzureStorage".Managed identities for Azure resources authentication is only supported by "AzureBlobStorage" type linked service but not previous "AzureStorage" type linked service.

Esempio:Example:

{
    "name": "AzureBlobStorageLinkedService",
    "properties": {
        "type": "AzureBlobStorage",
        "typeProperties": {            
            "serviceEndpoint": "https://<accountName>.blob.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 dati, vedere l'articolo Set di dati.For a full list of sections and properties available for defining datasets, see the Datasets article.

Set di dati di formato parquet e testo delimitatoParquet and delimited text format dataset

Per copiare dati da e verso archiviazione Blob in formato testo delimitato o Parquet, fare riferimento a formato Parquet e formato di testo delimitato articolo nel set di dati in base al formato e le impostazioni supportate.To copy data to and from Blob storage in Parquet or delimited text format, refer to Parquet format and Delimited text format article on format-based dataset and supported settings. Sono supportate le proprietà seguenti per il Blob di Azure in location impostazioni nel set di dati in base al formato:The following properties are supported for Azure Blob under location settings in format-based dataset:

ProprietàProperty DescrizioneDescription ObbligatoriaRequired
typetype La proprietà type della posizione nel set di dati deve essere impostata su AzureBlobStorageLocation.The type property of the location in dataset must be set to AzureBlobStorageLocation. Yes
containercontainer Il contenitore blob.The blob container. Yes
folderPathfolderPath Il percorso di cartella nel contenitore specificato.The path to folder under the given container. Se si desidera utilizzare con caratteri jolly alla cartella di filtro, ignorare questa impostazione e specificare nelle impostazioni di origine di attività.If you want to use wildcard to filter folder, skip this setting and specify in activity source settings. NoNo
fileNamefileName Il nome del file sotto il contenitore specificato + folderPath.The file name under the given container + folderPath. Se si desidera utilizzare con caratteri jolly per filtrare i file, ignorare questa impostazione e specificare nelle impostazioni di origine di attività.If you want to use wildcard to filter files, skip this setting and specify in activity source settings. NoNo

Nota

AzureBlob tipo set di dati con formato Parquet, Text indicato nella sezione successiva è ancora supportata come-per attività di copia/ricerca/GetMetadata per compatibilità con le versioni precedenti, ma non funziona con il Mapping di flusso di dati.AzureBlob type dataset with Parquet/Text format mentioned in next section is still supported as-is for Copy/Lookup/GetMetadata activity for backward compatibility, but it doesn't work with Mapping Data Flow. Consigliabile per usare questo nuovo modello in futuro e Azure Data factory di creazione dell'interfaccia utente è stata attivata per la generazione di questi nuovi tipi.You are suggested to use this new model going forward, and the ADF authoring UI has switched to generating these new types.

Esempio:Example:

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

Altri set di dati di formatoOther format dataset

Per copiare dati da e verso archiviazione Blob in formato ORC/Avro/JSON/binario, impostare la proprietà type del set di dati AzureBlob.To copy data to and from Blob storage in ORC/Avro/JSON/Binary format, set the type property of the dataset to AzureBlob. Sono supportate le proprietà seguenti.The following properties are supported.

ProprietàProperty DescrizioneDescription ObbligatoriaRequired
typetype La proprietà type del set di dati deve essere impostata su AzureBlob.The type property of the dataset must be set to AzureBlob. Yes
folderPathfolderPath Percorso del contenitore e della cartella nell'archivio BLOB.Path to the container and folder in the blob storage.

Il filtro con caratteri jolly è supportato per il percorso escluso il nome del contenitore.Wildcard filter is supported for the path excluding container name. I caratteri jolly consentiti sono: * (corrisponde a zero o più caratteri) e ? (corrisponde a zero caratteri o a un carattere singolo). Usare ^ come carattere di escape se il nome effettivo della cartella include caratteri jolly o questo carattere di escape.Allowed wildcards are: * (matches zero or more characters) and ? (matches zero or single character); use ^ to escape if your actual folder name has wildcard or this escape char inside.

Esempi: myblobcontainer/myblobfolder/. Vedere altri esempi in Esempi di filtro file e cartelle.Examples: myblobcontainer/myblobfolder/, see more examples in Folder and file filter examples.
Sì per l'attività Copy/Lookup, no per l'attività GetMetadataYes for Copy/Lookup activity, No for GetMetadata activity
fileNamefileName Filtro con nome o carattere jolly per i BLOB nell'elemento "folderPath" specificato.Name or wildcard filter for the blob(s) under the specified "folderPath". Se non si specifica alcun valore per questa proprietà, il set di dati punta a tutti i BLOB nella cartella.If you don't specify a value for this property, the dataset points to all blobs in the folder.

Per un filtro, i caratteri jolly consentiti sono: * (corrispondenza di zero o più caratteri) e ? (corrispondenza di zero caratteri o di un carattere singolo).For filter, allowed wildcards 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 il carattere escape se il nome effettivo del file include caratteri jolly o escape.Use ^ to escape if your actual file name has wildcard or this escape char inside.

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

Tenere presente che le prestazioni complessive di spostamento dei dati ne risentirà abilitando questa impostazione quando si desidera filtro file da elevate quantità di file.Be aware the overall performance of data movement will be impacted by enabling this setting when you want to do file filter from huge amounts of files.

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

Tenere presente che le prestazioni complessive di spostamento dei dati ne risentirà abilitando questa impostazione quando si desidera filtro file da elevate quantità di file.Be aware the overall performance of data movement will be impacted by enabling this setting when you want to do file filter from huge amounts of files.

La proprietà può essere NULL che indicano che alcun filtro di attributi file non verrà applicato al set di dati.The properties can be NULL that mean no file attribute filter will be applied to the dataset. Quando modifiedDatetimeStart ha un valore datetime ma modifiedDatetimeEnd è NULL, vengono selezionati i file il cui ultimo attributo modificato è maggiore o uguale al valore datetime.When modifiedDatetimeStart has datetime value but modifiedDatetimeEnd is NULL, it means the files whose last modified attribute is greater than or equal with the datetime value will be selected. Quando modifiedDatetimeEnd ha un valore datetime ma modifiedDatetimeStart è NULL vengono selezionati i file il cui ultimo attributo modificato è minore del valore datetime.When modifiedDatetimeEnd has datetime value but modifiedDatetimeStart is NULL, it means the files whose last modified attribute is less than the datetime value will be 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 file 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)
compressioncompression 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 BLOB in una cartella, specificare solo folderPath.To copy all blobs under a folder, specify folderPath only.
Per copiare un singolo BLOB con un determinato nome, specificare folderPath con il percorso della cartella e fileName con il nome del file.To copy a single blob with a given name, specify folderPath with folder part and fileName with file name.
Per copiare un subset di BLOB in una cartella, specificare folderPath con il percorso della cartella e fileName con il filtro con caratteri jolly.To copy a subset of blobs under a folder, specify folderPath with folder part and fileName with wildcard filter.

Esempio:Example:

{
    "name": "AzureBlobDataset",
    "properties": {
        "type": "AzureBlob",
        "linkedServiceName": {
            "referenceName": "<Azure Blob storage linked service name>",
            "type": "LinkedServiceReference"
        },
        "typeProperties": {
            "folderPath": "mycontainer/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 the Pipelines article. Questa sezione presenta un elenco delle proprietà supportate dall'origine e dal sink Archiviazione BLOB di Azure.This section provides a list of properties supported by the Blob storage source and sink.

Archiviazione BLOB come tipo di origineBlob storage as a source type

Parquet e testo delimitato formato origineParquet and delimited text format source

Per copiare dati dall'archivio Blob in formato testo delimitato o Parquet, fare riferimento a formato Parquet e formato di testo delimitato articolo sull'origine dell'attività copy in base al formato e le impostazioni supportate.To copy data from Blob storage in Parquet or delimited text format, refer to Parquet format and Delimited text format article on format-based copy activity source and supported settings. Sono supportate le proprietà seguenti per il Blob di Azure in storeSettings le impostazioni di origine della copia in base al formato:The following properties are supported for Azure Blob under storeSettings settings in format-based copy source:

ProprietàProperty DescrizioneDescription ObbligatoriaRequired
typetype La proprietà del tipo sotto storeSettings deve essere impostata su AzureBlobStorageReadSetting.The type property under storeSettings must be set to AzureBlobStorageReadSetting. Yes
recursiverecursive 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. Si noti che quando la proprietà recursive è impostata su true e il sink è un archivio basato su file, una cartella o una sottocartella vuota non viene copiata o creata nel sink.Note that 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 all'interno del contenitore specificato configurato nel set di dati nelle cartelle di origine di filtro.The folder path with wildcard characters under the given container configured in dataset to filter source folders.
I caratteri jolly consentiti sono: * (corrisponde a zero o più caratteri) e ? (corrisponde a zero caratteri o a un carattere singolo). Usare ^ come carattere di escape se il nome effettivo della cartella include caratteri jolly o questo carattere di escape.Allowed wildcards are: * (matches zero or more characters) and ? (matches zero or single character); use ^ to escape if your actual folder name has 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 Il nome di file con caratteri jolly sotto il contenitore specificato + folderPath/wildcardFolderPath per filtrare i file di origine.The file name with wildcard characters under the given container + folderPath/wildcardFolderPath to filter source files.
I caratteri jolly consentiti sono: * (corrisponde a zero o più caratteri) e ? (corrisponde a zero caratteri o a un carattere singolo). Usare ^ come carattere di escape se il nome effettivo della cartella include caratteri jolly o questo carattere di escape.Allowed wildcards are: * (matches zero or more characters) and ? (matches zero or single character); use ^ to escape if your actual folder name has 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 set di datiYes if fileName is not specified in dataset
modifiedDatetimeStartmodifiedDatetimeStart Filtro di file basato sull'attributo: Ultima modifica.Files filter based on the attribute: Last Modified. I file vengono selezionati se l'ora dell'ultima modifica è inclusa nell'intervallo di tempo tra modifiedDatetimeStart e modifiedDatetimeEnd.The files will be selected if their last modified time are within the time range between modifiedDatetimeStart and modifiedDatetimeEnd. L'ora viene applicata con il fuso orario UTC e il formato "2018-12-01T05:00:00Z".The time is applied to UTC time zone in the format of "2018-12-01T05:00:00Z".
Le proprietà possono essere NULL, a indicare che al set di dati non viene applicato alcun filtro di attributo di file.The properties can be NULL which mean no file attribute filter will be applied to the dataset. Quando modifiedDatetimeStart ha un valore datetime ma modifiedDatetimeEnd è NULL, vengono selezionati i file il cui ultimo attributo modificato è maggiore o uguale al valore datetime.When modifiedDatetimeStart has datetime value but modifiedDatetimeEnd is NULL, it means the files whose last modified attribute is greater than or equal with the datetime value will be selected. Quando modifiedDatetimeEnd ha un valore datetime ma modifiedDatetimeStart è NULL vengono selezionati i file il cui ultimo attributo modificato è minore del valore datetime.When modifiedDatetimeEnd has datetime value but modifiedDatetimeStart is NULL, it means the files whose last modified attribute is less than the datetime value will be selected.
NoNo
modifiedDatetimeEndmodifiedDatetimeEnd Come sopra.Same as above. NoNo
maxConcurrentConnectionsmaxConcurrentConnections Il numero delle connessioni per connettersi all'archivio di archiviazione simultaneamente.The number of the connections to connect to storage store concurrently. Specificare solo quando si desidera limitare le connessioni simultanee all'archivio dati.Specify only when you want to limit the concurrent connection to the data store. NoNo

Nota

Per formato di testo delimitato/Parquet BlobSource origine dell'attività copy tipo indicato nella sezione successiva è ancora supportata come-sia per compatibilità con le versioni precedenti.For Parquet/delimited text format, BlobSource type copy activity source mentioned in next section is still supported as-is for backward compatibility. Consigliabile per usare questo nuovo modello in futuro e Azure Data factory di creazione dell'interfaccia utente è stata attivata per la generazione di questi nuovi tipi.You are suggested to use this new model going forward, and the ADF authoring UI has switched to generating these new types.

Esempio:Example:

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

Altra origine di formatoOther format source

Per copiare dati dall'archivio Blob in formato ORC/Avro/JSON/binario, impostare il tipo di origine nell'attività di copia su BlobSource.To copy data from Blob storage in ORC/Avro/JSON/Binary format, set the source type in the copy activity to BlobSource. Nella sezione source dell'attività di copia sono supportate le proprietà seguenti.The following properties are supported in the copy activity source section.

ProprietàProperty DescrizioneDescription ObbligatoriaRequired
typetype La proprietà type dell'origine dell'attività di copia deve essere impostata su BlobSource.The type property of the copy activity source must be set to BlobSource. Yes
recursiverecursive 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. Si noti che quando la proprietà recursive è impostata su true e il sink è un archivio basato su file, una cartella o una sottocartella vuota non viene copiata o creata nel sink.Note that 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 Il numero delle connessioni per connettersi all'archivio di archiviazione simultaneamente.The number of the connections to connect to storage store concurrently. Specificare solo quando si desidera limitare le connessioni simultanee all'archivio dati.Specify only when you want to limit the concurrent connection to the data store. NoNo

Esempio:Example:

"activities":[
    {
        "name": "CopyFromBlob",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<Azure Blob input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "BlobSource",
                "recursive": true
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Archiviazione BLOB come tipo di sinkBlob storage as a sink type

Parquet e il sink di formato di testo delimitatoParquet and delimited text format sink

Per copiare dati nell'archiviazione Blob in formato testo delimitato o Parquet, fare riferimento a formato Parquet e formato di testo delimitato articolo nel sink dell'attività Copia in base al formato e le impostazioni supportate.To copy data to Blob storage in Parquet or delimited text format, refer to Parquet format and Delimited text format article on format-based copy activity sink and supported settings. Sono supportate le proprietà seguenti per il Blob di Azure in storeSettings impostazioni nel sink di copia in base al formato:The following properties are supported for Azure Blob under storeSettings settings in format-based copy sink:

ProprietàProperty DescrizioneDescription ObbligatoriaRequired
typetype La proprietà del tipo sotto storeSettings deve essere impostata su AzureBlobStorageWriteSetting.The type property under storeSettings must be set to AzureBlobStorageWriteSetting. 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 (impostazione predefinita): 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 source file to source folder is identical to the relative path of target file to 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 viene specificato il nome del file o del BLOB , il nome del file unito sarà il nome specificato.If the file or blob 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 Il numero delle connessioni per connettersi all'archivio di archiviazione simultaneamente.The number of the connections to connect to storage store concurrently. Specificare solo quando si desidera limitare le connessioni simultanee all'archivio dati.Specify only when you want to limit the concurrent connection to the data store. NoNo

Nota

Per formato di testo delimitato/Parquet BlobSink sink dell'attività Copia tipo indicato nella sezione successiva è ancora supportata come-sia per compatibilità con le versioni precedenti.For Parquet/delimited text format, BlobSink type copy activity sink mentioned in next section is still supported as-is for backward compatibility. Consigliabile per usare questo nuovo modello in futuro e Azure Data factory di creazione dell'interfaccia utente è stata attivata per la generazione di questi nuovi tipi.You are suggested to use this new model going forward, and the ADF authoring UI has switched to generating these new types.

Esempio:Example:

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

Altri sink di formatoOther format sink

Per copiare dati in Archiviazione BLOB, impostare il tipo di sink nell'attività di copia su BlobSink.To copy data to Blob storage, set the sink type in the copy activity to BlobSink. Nella sezione sink sono supportate le proprietà seguenti.The following properties are supported in the sink section.

ProprietàProperty DescrizioneDescription ObbligatoriaRequired
typetype La proprietà type del sink dell'attività di copia deve essere impostata su BlobSink.The type property of the copy activity sink must be set to BlobSink. 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 (impostazione predefinita): 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 source file to source folder is identical to the relative path of target file to 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 viene specificato il nome del file o del BLOB , il nome del file unito sarà il nome specificato.If the file or blob 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 Il numero delle connessioni per connettersi all'archivio di archiviazione simultaneamente.The number of the connections to connect to storage store concurrently. Specificare solo quando si desidera limitare le connessioni simultanee all'archivio dati.Specify only when you want to limit the concurrent connection to the data store. NoNo

Esempio:Example:

"activities":[
    {
        "name": "CopyToBlob",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<Azure Blob output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "<source type>"
            },
            "sink": {
                "type": "BlobSink",
                "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 recursiverecursive 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)
container/Folder* (vuoto, usare valore predefinito)(empty, use default) falsefalse containercontainer
    CartellaA    FolderA
        File1.csv        File1.csv
        File2.json        File2.json
        Sottocartella1        Subfolder1
            File3.csv            File3.csv
            File4.json            File4.json
            File5.csv            File5.csv
    AltraCartellaB    AnotherFolderB
        File6.csv        File6.csv
container/Folder* (vuoto, usare valore predefinito)(empty, use default) truetrue containercontainer
    CartellaA    FolderA
        File1.csv        File1.csv
        File2.json        File2.json
        Sottocartella1        Subfolder1
            File3.csv            File3.csv
            File4.json            File4.json
            File5.csv            File5.csv
    AltraCartellaB    AnotherFolderB
        File6.csv        File6.csv
container/Folder* *.csv falsefalse containercontainer
    CartellaA    FolderA
        File1.csv        File1.csv
        File2.json        File2.json
        Sottocartella1        Subfolder1
            File3.csv            File3.csv
            File4.json            File4.json
            File5.csv            File5.csv
    AltraCartellaB    AnotherFolderB
        File6.csv        File6.csv
container/Folder* *.csv truetrue containercontainer
    CartellaA    FolderA
        File1.csv        File1.csv
        File2.json        File2.json
        Sottocartella1        Subfolder1
            File3.csv            File3.csv
            File4.json            File4.json
            File5.csv            File5.csv
    AltraCartellaB    AnotherFolderB
        File6.csv        File6.csv

Alcuni esempi dei valori recursive e copyBehaviorSome recursive and copyBehavior examples

In questa sezione viene descritto il comportamento derivante 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.

recursiverecursive 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 cartella di destinazione Cartella1 viene creata con la stessa struttura dell'origine:The target folder 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 folder Folder1 is created with the following structure:

Cartella1Folder1
    File1    File1
    File2    File2

La sottocartella1 con File3, File4 e File5 non viene considerata.Subfolder1 with File3, File4, and File5 is not 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 folder 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

La sottocartella1 con File3, File4 e File5 non viene considerata.Subfolder1 with File3, File4, and File5 is not 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 seguenteThe target folder 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

La sottocartella1 con File3, File4 e File5 non viene considerata.Subfolder1 with File3, File4, and File5 is not picked up.

Mapping delle proprietà del flusso di datiMapping Data Flow properties

Informazioni dettagliate dal trasformazione sorgente e sink trasformazione nel Mapping di flusso di dati.Learn details from source transformation and sink transformation in Mapping Data Flow.

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.