Copiare i dati da e in Archiviazione BLOB di Azure mediante Azure Data FactoryCopy data to or from Azure Blob Storage using Azure Data Factory

Nota

Le informazioni di questo articolo sono valide per la versione 1 di Data Factory.This article applies to version 1 of Data Factory. Se si usa la versione corrente del servizio Data Factory, vedere le informazioni sul connettore di archiviazione BLOB di Azure nella versione 2.If you are using the current version of the Data Factory service, see Azure Blob Storage connector in V2.

Questo articolo illustra come usare l'attività di copia in Azure Data Factory per copiare i dati da e in Archiviazione BLOB di Azure.This article explains how to use the Copy Activity in Azure Data Factory to copy data to and from Azure Blob Storage. Si basa sull'articolo relativo alle attività di spostamento dei dati, che offre una panoramica generale dello spostamento dei dati con l'attività di copia.It builds on the Data Movement Activities article, which presents a general overview of data movement with the copy activity.

PanoramicaOverview

È possibile copiare i dati da qualsiasi archivio dati di origine supportato all'archivio BLOB di Azure o dall'archivio BLOB di Azure a qualsiasi archivio dati sink supportato.You can copy data from any supported source data store to Azure Blob Storage or from Azure Blob Storage to any supported sink data store. La tabella seguente contiene un elenco degli archivi dati supportati come origini o sink dall'attività di copia.The following table provides a list of data stores supported as sources or sinks by the copy activity. È ad esempio possibile spostare dati da un database di SQL Server o un database SQL di Azure a una risorsa di archiviazione BLOB di Azure.For example, you can move data from a SQL Server database or an Azure SQL database to an Azure blob storage. È anche possibile copiare dati da Archiviazione BLOB di Azure a un'istanza di Azure SQL Data Warehouse o una raccolta Azure Cosmos DB.And, you can copy data from Azure blob storage to an Azure SQL Data Warehouse or an Azure Cosmos DB collection.

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.

Scenari supportatiSupported scenarios

È possibile copiare i dati da un archivio BLOB di Azure agli archivi di dati seguenti:You can copy data from Azure Blob Storage to the following data stores:

CategoriaCategory Archivio datiData store
AzureAzure Archivio BLOB di AzureAzure Blob storage
Azure Data Lake Storage Gen1Azure Data Lake Storage Gen1
Azure Cosmos DB (API SQL)Azure Cosmos DB (SQL API)
Database SQL di AzureAzure SQL Database
Azure SQL Data WarehouseAzure SQL Data Warehouse
Indice ricerca cognitiva di AzureAzure Cognitive Search Index
Archivio tabelle di AzureAzure Table storage
DatabaseDatabases SQL ServerSQL Server
OracleOracle
FileFile File systemFile system

È possibile copiare i dati dagli archivi dati seguenti a un archivio BLOB di Azure:You can copy data from the following data stores to Azure Blob Storage:

CategoryCategory Archivio datiData store
AzureAzure Archivio BLOB di AzureAzure Blob storage
Azure Cosmos DB (API SQL)Azure Cosmos DB (SQL API)
Azure Data Lake Storage Gen1Azure Data Lake Storage Gen1
Database SQL di AzureAzure SQL Database
Azure SQL Data WarehouseAzure SQL Data Warehouse
Archivio tabelle di AzureAzure Table storage
DatabaseDatabases Amazon RedshiftAmazon Redshift
DB2DB2
MySQLMySQL
OracleOracle
PostgreSQLPostgreSQL
SAP Business WarehouseSAP Business Warehouse
SAP HANASAP HANA
SQL ServerSQL Server
SybaseSybase
TeradataTeradata
NoSQLNoSQL CassandraCassandra
MongoDBMongoDB
FileFile Amazon S3Amazon S3
File systemFile system
FTPFTP
HDFSHDFS
SFTPSFTP
AltroOthers HTTP genericoGeneric HTTP
OData genericoGeneric OData
ODBC genericoGeneric ODBC
SalesforceSalesforce
Tabella Web (tabella da HTML)Web table (table from HTML)

Importante

L'attività di copia supporta la copia dei dati da/in account di archiviazione di Azure per utilizzo generico e servizi di Archiviazione BLOB ad accesso frequente o sporadico.Copy Activity supports copying data from/to both general-purpose Azure Storage accounts and Hot/Cool Blob storage. L'attività supporta la lettura da BLOB in blocchi, di aggiunta o di pagine, ma supporta la scrittura solo in BLOB in blocchi.The activity supports reading from block, append, or page blobs, but supports writing to only block blobs. Archiviazione Premium di Azure non è supportata come sink poiché si basa sui BLOB di pagine.Azure Premium Storage is not supported as a sink because it is backed by page blobs.

L'attività di copia non elimina i dati dall'origine dopo che i dati sono stati correttamente copiati nella destinazione.Copy Activity does not delete data from the source after the data is successfully copied to the destination. Se è necessario eliminare i dati di origine dopo una copia con esito positivo, creare un'attività personalizzata per eliminare i dati e usare l'attività nella pipeline.If you need to delete source data after a successful copy, create a custom activity to delete the data and use the activity in the pipeline. Per un esempio, vedere l'esempio di eliminazione di BLOB o cartella in GitHub.For an example, see the Delete blob or folder sample on GitHub.

Inizia oggi stessoGet started

È possibile creare una pipeline con l'attività di copia che sposta i dati da e verso un archivio BLOB di Azure usando diversi strumenti/API.You can create a pipeline with a copy activity that moves data to/from an Azure Blob Storage by using different tools/APIs.

Il modo più semplice per creare una pipeline è usare la Copia guidata.The easiest way to create a pipeline is to use the Copy Wizard. Questo articolo include una procedura dettagliataper la creazione di una pipeline per copiare dati da un percorso di un archivio BLOB di Azure al percorso di un altro archivio BLOB di Azure.This article has a walkthrough for creating a pipeline to copy data from an Azure Blob Storage location to another Azure Blob Storage location. Per un'esercitazione sulla creazione di una pipeline per copiare dati da un archivio BLOB di Azure a un database SQL di Azure, vedere Esercitazione: Creare una pipeline usando la Copia guidata.For a tutorial on creating a pipeline to copy data from an Azure Blob Storage to Azure SQL Database, see Tutorial: Create a pipeline using Copy Wizard.

È anche possibile usare gli strumenti seguenti per creare una pipeline: Visual Studio, Azure PowerShell, Azure Resource Manager modello, API .NETe API REST.You can also use the following tools to create a pipeline: Visual Studio, Azure PowerShell, Azure Resource Manager template, .NET API, and REST API. Vedere l'esercitazione sull'attività di copia per le istruzioni dettagliate sulla creazione di una pipeline con un'attività di copia.See Copy activity tutorial for step-by-step instructions to create a pipeline with a copy activity.

Se si usano gli strumenti o le API, eseguire la procedura seguente per creare una pipeline che sposta i dati da un archivio dati di origine a un archivio dati sink:Whether you use the tools or APIs, you perform the following steps to create a pipeline that moves data from a source data store to a sink data store:

  1. Creare una data factory.Create a data factory. Una data factory può contenere una o più pipeline.A data factory may contain one or more pipelines.
  2. Creare i servizi collegati per collegare gli archivi di dati di input e output alla data factory.Create linked services to link input and output data stores to your data factory. Ad esempio, se si copiano i dati da un'archiviazione BLOB di Azure in un database SQL di Azure, si creano due servizi collegati per collegare l'account di archiviazione di Azure e il database SQL di Azure alla data factory.For example, if you are copying data from an Azure blob storage to an Azure SQL database, you create two linked services to link your Azure storage account and Azure SQL database to your data factory. Per le proprietà del servizio collegato specifiche dell'archivio BLOB di Azure, vedere la sezione sulle proprietà del servizio collegato.For linked service properties that are specific to Azure Blob Storage, see linked service properties section.
  3. Creare i set di dati per rappresentare i dati di input e di output per le operazioni di copia.Create datasets to represent input and output data for the copy operation. Nell'esempio citato nel passaggio precedente, si crea un set di dati per specificare un contenitore BLOB e la cartella che contiene i dati di input.In the example mentioned in the last step, you create a dataset to specify the blob container and folder that contains the input data. Si crea anche un altro set di dati per specificare la tabella SQL nel database SQL di Azure che contiene i dati copiati dall'archiviazione BLOB.And, you create another dataset to specify the SQL table in the Azure SQL database that holds the data copied from the blob storage. Per le proprietà del set di dati specifiche dell'archivio BLOB di Azure, vedere la sezione sulle proprietà del set di dati.For dataset properties that are specific to Azure Blob Storage, see dataset properties section.
  4. Creare una pipeline con un'attività di copia che accetti un set di dati come input e un set di dati come output.Create a pipeline with a copy activity that takes a dataset as an input and a dataset as an output. Nell'esempio indicato in precedenza si usa BlobSource come origine e SqlSink come sink per l'attività di copia.In the example mentioned earlier, you use BlobSource as a source and SqlSink as a sink for the copy activity. Analogamente, se si effettua la copia dal database SQL di Azure nell'archivio BLOB di Azure, si usa SqlSource e BlobSink nell'attività di copia.Similarly, if you are copying from Azure SQL Database to Azure Blob Storage, you use SqlSource and BlobSink in the copy activity. Per le proprietà dell'attività di copia specifiche per l'archivio BLOB di Azure, vedere la sezione sulle proprietà dell'attività di copia.For copy activity properties that are specific to Azure Blob Storage, see copy activity properties section. Per informazioni dettagliate su come usare un archivio dati come origine o come sink, fare clic sul collegamento nella sezione precedente per l'archivio dati.For details on how to use a data store as a source or a sink, click the link in the previous section for your data store.

Quando si usa la procedura guidata, le definizioni JSON per queste entità di data factory (servizi, set di dati e pipeline collegati) vengono create automaticamente.When you use the wizard, JSON definitions for these Data Factory entities (linked services, datasets, and the pipeline) are automatically created for you. Quando si usano gli strumenti o le API, ad eccezione delle API .NET, usare il formato JSON per definire le entità di data factory.When you use tools/APIs (except .NET API), you define these Data Factory entities by using the JSON format. Per esempi con definizioni JSON per entità di data factory utilizzate per copiare i dati da e verso un'archiviazione BLOB di Azure, vedere la sezione degli esempi JSON in questo articolo.For samples with JSON definitions for Data Factory entities that are used to copy data to/from an Azure Blob Storage, see JSON examples section of this article.

Le sezioni seguenti riportano informazioni dettagliate sulle proprietà JSON che vengono usate per definire entità di data factory specifiche di un archivio BLOB di Azure.The following sections provide details about JSON properties that are used to define Data Factory entities specific to Azure Blob Storage.

Proprietà del servizio collegatoLinked service properties

Esistono due tipi di servizi collegati, che consentono di collegare un archivio di Azure a una data factory di Azure.There are two types of linked services you can use to link an Azure Storage to an Azure data factory. I due tipi di servizi sono il servizio collegato AzureStorage e il servizio collegato AzureStorageSas.They are: AzureStorage linked service and AzureStorageSas linked service. Il servizio collegato Archiviazione di Azure garantisce alla data factory l'accesso globale ad Archiviazione di Azure.The Azure Storage linked service provides the data factory with global access to the Azure Storage. Invece il servizio collegato Firma di accesso condiviso di Archiviazione di Azure garantisce alla data factory l'accesso limitato o a scadenza ad Archiviazione di Azure.Whereas, The Azure Storage SAS (Shared Access Signature) linked service provides the data factory with restricted/time-bound access to the Azure Storage. Non esistono altre differenze tra questi due servizi collegati.There are no other differences between these two linked services. Scegliere il servizio collegato più adatto alle proprie esigenze.Choose the linked service that suits your needs. Le sezioni seguenti forniscono altri dettagli su questi due servizi collegati.The following sections provide more details on these two linked services.

Servizio collegato Archiviazione di AzureAzure Storage Linked Service

Il servizio collegato ad Archiviazione di Azure consente di collegare un account di Archiviazione di Azure a una data factory di Azure tramite la chiave dell'account, che fornisce alla data factory l'accesso globale ad Archiviazione di Azure.The Azure Storage linked service allows you to link an Azure storage account to an Azure data factory by using the account key, which provides the data factory with global access to the Azure Storage. La tabella seguente fornisce la descrizione degli elementi JSON specifici del servizio collegato Archiviazione di Azure.The following table provides description for JSON elements specific to Azure Storage linked service.

ProprietàProperty DescrizioneDescription ObbligatoriaRequired
typetype La proprietà type deve essere impostata su: AzureStorageThe type property must be set to: AzureStorage Yes
connectionStringconnectionString Specificare le informazioni necessarie per connettersi all’archivio Azure per la proprietà connectionString.Specify information needed to connect to Azure storage for the connectionString property. Yes

Vedere la sezione seguente per i passaggi per visualizzare o copiare la chiave dell'account per un archivio di Azure: Chiavi di accesso.See the following section for steps to view/copy the account key for an Azure Storage: Access keys.

Esempio:Example:

{
    "name": "StorageLinkedService",
    "properties": {
        "type": "AzureStorage",
        "typeProperties": {
            "connectionString": "DefaultEndpointsProtocol=https;AccountName=<accountname>;AccountKey=<accountkey>"
        }
    }
}

Servizio collegato di firma di accesso condiviso Archiviazione di AzureAzure Storage Sas Linked Service

Una firma di accesso condiviso (SAS) fornisce accesso delegato alle risorse nell'account di archiviazione.A shared access signature (SAS) provides delegated access to resources in your storage account. Consente di concedere a un client autorizzazioni limitate per BLOB, code o tabelle per un periodo di tempo specificato e con un set di autorizzazioni specificato senza dover condividere le chiavi di accesso dell'account.It allows you to grant a client limited permissions to objects in your storage account for a specified period of time and with a specified set of permissions, without having 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 SAS 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 al costruttore o al metodo appropriato.To access storage resources with the SAS, the client only needs to pass in the SAS to the appropriate constructor or method. Per altre informazioni sulla firma di accesso condiviso, vedere concedere l'accesso limitato alle risorse di archiviazione di Azure usando le firme di accesso condiviso (SAS).For more information about SAS, see Grant limited access to Azure Storage resources using shared access signatures (SAS).

Importante

Azure Data Factory supporta attualmente solo il servizio di firma di accesso condiviso, ma non la firma di accesso condiviso dell'account.Azure Data Factory now only supports Service SAS but not Account SAS. Si noti che l'URL di firma di accesso condiviso generabile dal portale di Azure o da Storage Explorer è una firma di accesso condiviso dell'account, che non è supportata.Note the SAS URL generable from Azure portal or Storage Explorer is an Account SAS, which is not supported.

Suggerimento

È possibile eseguire i comandi PowerShell seguenti per generare una firma di accesso condiviso del servizio per l'account di archiviazione. Sostituire i segnaposto e concedere l'autorizzazione necessaria: $context = New-AzStorageContext -StorageAccountName <accountName> -StorageAccountKey <accountKey> New-AzStorageContainerSASToken -Name <containerName> -Context $context -Permission rwdl -StartTime <startTime> -ExpiryTime <endTime> -FullUriYou can execute below PowerShell commands to generate a Service SAS for your storage account (replace the place-holders 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

Il servizio collegato di firma di accesso condiviso Archiviazione di Azure consente di collegare un account di Archiviazione di Azure a Data factory di Azure tramite una firma di accesso condiviso.The Azure Storage SAS linked service allows you to link an Azure Storage Account to an Azure data factory by using a Shared Access Signature (SAS). Offre a Data factory un accesso con restrizioni o limiti di tempo a tutte le risorse o a risorse specifiche (BLOB/contenitore) nella risorsa di archiviazione.It provides the data factory with restricted/time-bound access to all/specific resources (blob/container) in the storage. La tabella seguente fornisce la descrizione degli elementi JSON specifici del servizio collegato di firma di accesso condiviso Archiviazione di Azure.The following table provides description for JSON elements specific to Azure Storage SAS linked service.

ProprietàProperty DescrizioneDescription ObbligatoriaRequired
typetype La proprietà type deve essere impostata su: AzureStorageSasThe type property must be set to: AzureStorageSas Yes
sasUrisasUri Specificare l'URI della firma di accesso condiviso per le risorse di Archiviazione di Azure come BLOB, contenitore o tabella.Specify Shared Access Signature URI to the Azure Storage resources such as blob, container, or table. Yes

Esempio:Example:

{
    "name": "StorageSasLinkedService",
    "properties": {
        "type": "AzureStorageSas",
        "typeProperties": {
            "sasUri": "<Specify SAS URI of the Azure Storage resource>"
        }
    }
}

Quando si crea un URI della firma di accesso condivisoconsiderare quanto segue:When creating an SAS URI, considering the following:

  • 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. L'accesso agli oggetti di Archiviazione di Azure non deve scadere nel periodo attivo della pipeline.Make sure that the access to Azure Storage objects does not expire within the active period of the pipeline.
  • L'URI deve essere creato al giusto livello di contenitore/BLOB o tabella in base alla necessità.Uri should be created at the right container/blob or Table level based on the need. Un URI di firma di accesso condiviso per un BLOB di Azure consente al servizio Data factory di accedere a quel particolare BLOB.A SAS Uri to an Azure blob allows the Data Factory service to access that particular blob. Un URI di firma di accesso condiviso per un contenitore BLOB di Azure consente al servizio Data factory di eseguire l'iterazione tra i BLOB in quel contenitore.A SAS Uri to an Azure blob container allows the Data Factory service to iterate through blobs in that container. Se si deve 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.If you need to provide access more/fewer objects later, or update the SAS URI, remember to update the linked service with the new URI.

Proprietà del set di datiDataset properties

Per specificare un set di dati per rappresentare i dati di input o di output in un'archiviazione BLOB di Azure, impostare la proprietà del tipo del set di dati su AzureBlob.To specify a dataset to represent input or output data in an Azure Blob Storage, you set the type property of the dataset to: AzureBlob. Impostare la proprietà linkedServiceName del set di dati sul nome del servizio collegato di Archiviazione di Azure o di firma di accesso condiviso Archiviazione di Azure.Set the linkedServiceName property of the dataset to the name of the Azure Storage or Azure Storage SAS linked service. Le proprietà del tipo del set di dati specificano il contenitore BLOB e la cartella nell'archivio BLOB.The type properties of the dataset specify the blob container and the folder in the blob storage.

Per un elenco completo delle proprietà e delle sezioni JSON disponibili per la definizione dei set di dati, vedere l'articolo sulla creazione di set di dati.For a full list of JSON sections & properties available for defining datasets, see the Creating datasets article. Le sezioni come struttura, disponibilità e criteri di un set di dati JSON sono simili per tutti i tipi di set di dati, ad esempio Azure SQL, BLOB di Azure, tabelle di Azure e così via.Sections such as structure, availability, and policy of a dataset JSON are similar for all dataset types (Azure SQL, Azure blob, Azure table, etc.).

Data Factory supporta i valori di tipo basati su .NET conformi a CLS per specificare informazioni sul tipo nella sezione "structure" in relazione allo schema su origini dati di lettura come BLOB di Azure: Int16, Int32, Int64, Single, Double, Decimal, Byte[], Bool, String, Guid, Datetime, Datetimeoffset, Timespan.Data factory supports the following CLS-compliant .NET based type values for providing type information in “structure” for schema-on-read data sources like Azure blob: Int16, Int32, Int64, Single, Double, Decimal, Byte[], Bool, String, Guid, Datetime, Datetimeoffset, Timespan. La data factory esegue automaticamente le conversioni quando si spostano dati da un archivio dati di origine a un archivio dati di sink.Data Factory automatically performs type conversions when moving data from a source data store to a sink data store.

La sezione typeProperties è diversa per ogni tipo di set di dati e contiene informazioni sulla posizione, il formato dei dati e così via nell'archivio dati.The typeProperties section is different for each type of dataset and provides information about the location, format etc., of the data in the data store. La sezione typeProperties per il set di dati di tipo AzureBlob presenta le proprietà seguenti:The typeProperties section for dataset of type AzureBlob dataset has the following properties:

ProprietàProperty DescriptionDescription ObbligatoriaRequired
folderPathfolderPath Percorso del contenitore e della cartella nell'archivio BLOB.Path to the container and folder in the blob storage. Esempio: myblobcontainer\myblobfolderExample: myblobcontainer\myblobfolder\ Yes
fileNamefileName Nome del BLOB.Name of the blob. fileName è facoltativo e non applica la distinzione tra maiuscole e minuscole.fileName is optional and case-sensitive.

Se si specifica un filename, l'attività, inclusa la copia, funziona sul BLOB specifico.If you specify a filename, the activity (including Copy) works on the specific Blob.

Quando fileName non è specificato, la copia include tutti i BLOB in folderPath per il set di dati di input.When fileName is not specified, Copy includes all Blobs in the folderPath for input dataset.

Quando filename non è specificato per un set di dati di output e preserveHierarchy non è specificato nel sink dell'attività, il nome del file generato avrà il formato seguente: Data.<Guid>.txt (ad esempio: data. 0a405f8a-93ff-4C6F-B3BE-f69616f1df7a. txtWhen fileName is not specified for an output dataset and preserveHierarchy is not specified in activity sink, the name of the generated file would be in the following this format: Data.<Guid>.txt (for example: : Data.0a405f8a-93ff-4c6f-b3be-f69616f1df7a.txt
NoNo
partitionedBypartitionedBy partitionedBy è una proprietà facoltativa.partitionedBy is an optional property. Può essere utilizzata per specificare una proprietà folderPath dinamica e un nome file per i dati della serie temporale.You can use it to specify a dynamic folderPath and filename for time series data. Ad esempio, è possibile includere parametri per ogni ora di dati in folderPath.For example, folderPath can be parameterized for every hour of data. Per informazioni dettagliate ed esempi, vedere la sezione Uso della proprietà partitionedBy .See the Using partitionedBy property section for details and examples. NoNo
formatformat Sono supportati i tipi di formato seguenti: TextFormat, JsonFormat, AvroFormat, OrcFormat e ParquetFormat.The following format types are supported: TextFormat, JsonFormat, AvroFormat, OrcFormat, ParquetFormat. Impostare la proprietà type nell'area format su uno di questi valori.Set the type property under format to one of these values. Per altre informazioni, vedere le sezioni TextFormat, JsonFormat, AvroFormat, OrcFormat e ParquetFormat.For more information, see Text Format, Json Format, Avro Format, Orc Format, and Parquet Format sections.

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 input and output dataset definitions.
NoNo
compressionecompression Specificare il tipo e il livello di compressione dei dati.Specify the type and level of compression for the data. 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. Per altre informazioni, vedere File e formati di compressione in Azure Data Factory.For more information, see File and compression formats in Azure Data Factory. NoNo

Uso della proprietà partitionedByUsing partitionedBy property

Come indicato nella sezione precedente, è possibile specificare valori fileName e folderPath dinamici per i dati di una serie temporale con la proprietà partitionedBy, le funzioni di data factory e le variabili di sistema.As mentioned in the previous section, you can specify a dynamic folderPath and filename for time series data with the partitionedBy property, Data Factory functions, and the system variables.

Per maggiori informazioni sui set di dati delle serie temporali, sulla pianificazione e sulle sezioni, leggere gli articoli Creazione di set di dati e Pianificazione ed esecuzione.For more information on time series datasets, scheduling, and slices, see Creating Datasets and Scheduling & Execution articles.

Esempio 1Sample 1

"folderPath": "wikidatagateway/wikisampledataout/{Slice}",
"partitionedBy":
[
    { "name": "Slice", "value": { "type": "DateTime", "date": "SliceStart", "format": "yyyyMMddHH" } },
],

In questo esempio {Slice} viene sostituito con il valore della variabile di sistema SliceStart di Data Factory nel formato (AAAAMMGGHH) specificato.In this example, {Slice} is replaced with the value of Data Factory system variable SliceStart in the format (YYYYMMDDHH) specified. SliceStart fa riferimento all'ora di inizio della sezione.The SliceStart refers to start time of the slice. La proprietà folderPath è diversa per ogni sezione.The folderPath is different for each slice. For example: wikidatagateway/wikisampledataout/2014100103 or wikidatagateway/wikisampledataout/2014100104For example: wikidatagateway/wikisampledataout/2014100103 or wikidatagateway/wikisampledataout/2014100104

Esempio 2Sample 2

"folderPath": "wikidatagateway/wikisampledataout/{Year}/{Month}/{Day}",
"fileName": "{Hour}.csv",
"partitionedBy":
[
    { "name": "Year", "value": { "type": "DateTime", "date": "SliceStart", "format": "yyyy" } },
    { "name": "Month", "value": { "type": "DateTime", "date": "SliceStart", "format": "MM" } },
    { "name": "Day", "value": { "type": "DateTime", "date": "SliceStart", "format": "dd" } },
    { "name": "Hour", "value": { "type": "DateTime", "date": "SliceStart", "format": "hh" } }
],

In questo esempio l'anno, il mese, il giorno e l'ora di SliceStart vengono estratti in variabili separate che vengono usate dalle proprietà folderPath e fileName.In this example, year, month, day, and time of SliceStart are extracted into separate variables that are used by folderPath and fileName properties.

Proprietà dell'attività di copiaCopy activity properties

Per un elenco completo delle sezioni e delle proprietà disponibili per la definizione delle attività, fare riferimento all'articolo Creazione di pipeline.For a full list of sections & properties available for defining activities, see the Creating Pipelines article. Proprietà quali nome, descrizione, criteri e set di dati di input e di output sono disponibili per tutti i tipi di attività.Properties such as name, description, input and output datasets, and policies are available for all types of activities. Le proprietà disponibili nella sezione typeProperties dell'attività variano invece in base al tipo di attività.Whereas, properties available in the typeProperties section of the activity vary with each activity type. Per l'attività di copia variano in base ai tipi di origine e sink.For Copy activity, they vary depending on the types of sources and sinks. Se si effettua il trasferimento dei dati da un archivio BLOB di Azure, impostare il tipo di origine nell'attività di copia su BlobSource.If you are moving data from an Azure Blob Storage, you set the source type in the copy activity to BlobSource. Analogamente, se si effettua il trasferimento dei dati in un archivio BLOB di Azure, impostare il tipo di sink nell'attività di copia su BlobSink.Similarly, if you are moving data to an Azure Blob Storage, you set the sink type in the copy activity to BlobSink. Questa sezione presenta un elenco delle proprietà supportate da BlobSource e BlobSink.This section provides a list of properties supported by BlobSource and BlobSink.

BlobSource supporta le seguenti proprietà della sezione typeProperties:BlobSource supports the following properties in the typeProperties section:

ProprietàProperty DescriptionDescription Valori consentitiAllowed values ObbligatoriaRequired
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 sub folders or only from the specified folder. True (valore predefinito), FalseTrue (default value), False NoNo

BlobSink supporta le proprietà della sezione typeProperties seguenti:BlobSink supports the following properties typeProperties section:

ProprietàProperty DescriptionDescription Valori consentitiAllowed values ObbligatoriaRequired
copyBehaviorcopyBehavior Definisce il comportamento di copia quando l'origine è BlobSource o FileSystem.Defines the copy behavior when the source is BlobSource or FileSystem. PreserveHierarchy: mantiene la gerarchia dei file nella cartella di destinazione.PreserveHierarchy: 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 target folder. Il nome dei file di destinazione viene generato automaticamente.The target files have auto generated name.

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 file/BLOB, il nome file unito sarà il nome specificato. In caso contrario, sarà il nome file generato automaticamente.If the File/Blob Name is specified, the merged file name would be the specified name; otherwise, would be auto-generated file name.
NoNo

BlobSource supporta anche le due proprietà seguenti per la compatibilità con le versioni precedenti.BlobSource also supports these two properties for backward compatibility.

  • treatEmptyAsNull: specifica se considerare una stringa vuota o Null come valore Null.treatEmptyAsNull: Specifies whether to treat null or empty string as null value.
  • skipHeaderLineCount : specifica il numero di righe che devono essere ignorate.skipHeaderLineCount - Specifies how many lines need be skipped. È applicabile solo quando il set di dati di input usa TextFormat.It is applicable only when input dataset is using TextFormat.

In modo analogo, BlobSink supporta la proprietà seguente per la compatibilità con le versioni precedenti.Similarly, BlobSink supports the following property for backward compatibility.

  • blobWriterAddHeader: specifica se aggiungere un'intestazione di definizioni di colonna durante la scrittura di un set di dati di output.blobWriterAddHeader: Specifies whether to add a header of column definitions while writing to an output dataset.

Ora i set di dati supportano le proprietà seguenti che implementano la stessa funzionalità: treatEmptyAsNull, skipLineCount, firstRowAsHeader.Datasets now support the following properties that implement the same functionality: treatEmptyAsNull, skipLineCount, firstRowAsHeader.

La tabella seguente fornisce indicazioni sull'uso delle nuove proprietà del set di dati al posto di queste proprietà del sink o dell'origine BLOB.The following table provides guidance on using the new dataset properties in place of these blob source/sink properties.

Proprietà dell'attività di copiaCopy Activity property Proprietà del set di datiDataset property
skipHeaderLineCount in BlobSourceskipHeaderLineCount on BlobSource skipLineCount e firstRowAsHeader.skipLineCount and firstRowAsHeader. Le righe vengono prima ignorate e poi la prima riga viene letta come intestazione.Lines are skipped first and then the first row is read as a header.
treatEmptyAsNull in BlobSourcetreatEmptyAsNull on BlobSource treatEmptyAsNull nel set di dati di inputtreatEmptyAsNull on input dataset
blobWriterAddHeader in BlobSinkblobWriterAddHeader on BlobSink firstRowAsHeader nel set di dati di outputfirstRowAsHeader on output dataset

Per informazioni dettagliate su queste proprietà, vedere la sezione Specifica di TextFormat .See Specifying TextFormat section for detailed information on these properties.

esempi ricorsivi e copyBehaviorrecursive 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.

ricorsivarecursive copyBehaviorcopyBehavior Comportamento risultanteResulting behavior
truetrue preserveHierarchypreserveHierarchy Per una cartella di origine Cartella1 con la struttura seguente:For a source folder Folder1 with the following structure:

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'originethe 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 Per una cartella di origine Cartella1 con la struttura seguente:For a source folder Folder1 with the following structure:

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    auto-generated name for File1
    nome generato automaticamente per File2    auto-generated name for File2
    nome generato automaticamente per File3    auto-generated name for File3
    nome generato automaticamente per File4    auto-generated name for File4
    nome generato automaticamente per File5    auto-generated name for File5
truetrue mergeFilesmergeFiles Per una cartella di origine Cartella1 con la struttura seguente:For a source folder Folder1 with the following structure:

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 file generato automaticamente    File1 + File2 + File3 + File4 + File 5 contents are merged into one file with auto-generated file name
falsefalse preserveHierarchypreserveHierarchy Per una cartella di origine Cartella1 con la struttura seguente:For a source folder Folder1 with the following structure:

Cartella1Folder1
    File1    File1
    File2    File2
    Sottocartella1    Subfolder1
         File3        File3
        File4        File4
         File5        File5

la cartella di destinazione Cartella1 viene creata con la struttura seguentethe target folder Folder1 is created with the following structure

Cartella1Folder1
    File1    File1
    File2    File2


Sottocartella1 con File3, File4 e File5 non considerati.Subfolder1 with File3, File4, and File5 are not picked up.
falsefalse flattenHierarchyflattenHierarchy Per una cartella di origine Cartella1 con la struttura seguente:For a source folder Folder1 with the following structure:

Cartella1Folder1
    File1    File1
    File2    File2
    Sottocartella1    Subfolder1
         File3        File3
        File4        File4
         File5        File5

la cartella di destinazione Cartella1 viene creata con la struttura seguentethe target folder Folder1 is created with the following structure

Cartella1Folder1
    Nome generato automaticamente per File1    auto-generated name for File1
    nome generato automaticamente per File2    auto-generated name for File2


Sottocartella1 con File3, File4 e File5 non considerati.Subfolder1 with File3, File4, and File5 are not picked up.
falsefalse mergeFilesmergeFiles Per una cartella di origine Cartella1 con la struttura seguente:For a source folder Folder1 with the following structure:

Cartella1Folder1
    File1    File1
    File2    File2
    Sottocartella1    Subfolder1
         File3        File3
        File4        File4
         File5        File5

la cartella di destinazione Cartella1 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 file generato automaticamente.    File1 + File2 contents are merged into one file with auto-generated file name. Nome generato automaticamente per File1auto-generated name for File1

Sottocartella1 con File3, File4 e File5 non considerati.Subfolder1 with File3, File4, and File5 are not picked up.

Procedura dettagliata: Usare la copia guidata per copiare i dati in/da una risorsa di archiviazione BLOBWalkthrough: Use Copy Wizard to copy data to/from Blob Storage

Ecco come copiare rapidamente i dati in/da una risorsa di archiviazione BLOB di Azure.Let's look at how to quickly copy data to/from an Azure blob storage. In questa procedura dettagliata gli archivi dati sia di origine che di destinazione sono di tipo archivio BLOB di Azure.In this walkthrough, both source and destination data stores of type: Azure Blob Storage. La pipeline in questa procedura dettagliata copia i dati da una cartella a un'altra cartella nello stesso contenitore BLOB.The pipeline in this walkthrough copies data from a folder to another folder in the same blob container. Questa procedura dettagliata è volutamente semplice perché illustra le impostazioni o le proprietà quando si usa l'archivio BLOB come origine o come sink.This walkthrough is intentionally simple to show you settings or properties when using Blob Storage as a source or sink.

PrerequisitiPrerequisites

  1. Creare un account di archiviazione di Azure per utilizzo generico, se necessario.Create a general-purpose Azure Storage Account if you don't have one already. In questa procedura dettagliata si usa l'archivio BLOB come archivio dati sia di origine che di destinazione.You use the blob storage as both source and destination data store in this walkthrough. Se non si ha un account di archiviazione di Azure, vedere l'articolo Creare un account di archiviazione per informazioni su come crearne uno.if you don't have an Azure storage account, see the Create a storage account article for steps to create one.
  2. Creare un contenitore BLOB denominato adfblobconnector nell'account di archiviazione.Create a blob container named adfblobconnector in the storage account.
  3. Creare una cartella denominata input nel contenitore adfblobconnector.Create a folder named input in the adfblobconnector container.
  4. Creare un file denominato emp.txt con il contenuto seguente e caricarlo nella cartella input usando strumenti come Azure Storage ExplorerCreate a file named emp.txt with the following content and upload it to the input folder by using tools such as Azure Storage Explorer
    John, Doe
    Jane, Doe
    

Creare la data factoryCreate the data factory

  1. Accedere al portale di Azure.Sign in to the Azure portal.
  2. Fare clic su Crea una risorsa nell'angolo in alto a sinistra, selezionare Intelligence e analisi e quindi Data factory.Click Create a resource from the top-left corner, click Intelligence + analytics, and click Data Factory.
  3. Nel riquadro Nuova data factory:In the New data factory pane:
    1. Immettere ADFBlobConnectorDF come nome.Enter ADFBlobConnectorDF for the name. È necessario specificare un nome univoco globale per l'istanza di Azure Data Factory.The name of the Azure data factory must be globally unique. Se viene visualizzato l'errore *Data factory name “ADFBlobConnectorDF” is not available, modificare il nome della data factory, ad esempio, nomeutenteADFBlobConnectorDF, e provare di nuovo a crearla.If you receive the error: *Data factory name “ADFBlobConnectorDF” is not available, change the name of the data factory (for example, yournameADFBlobConnectorDF) and try creating again. Per informazioni sulle regole di denominazione per gli elementi di Data factory, vedere l'argomento relativo alle regole di denominazione di Data factory .See Data Factory - Naming Rules topic for naming rules for Data Factory artifacts.
    2. Selezionare la sottoscrizionedi Azure.Select your Azure subscription.
    3. Per Gruppo di risorse, selezionare Usa esistente per selezionare un gruppo di risorse esistente oppure selezionare Crea nuovo per immettere un nome per un gruppo di risorse.For Resource Group, select Use existing to select an existing resource group (or) select Create new to enter a name for a resource group.
    4. Selezionare una località per la data factory.Select a location for the data factory.
    5. Selezionare la casella di controllo Aggiungi al dashboard nella parte inferiore del pannello.Select Pin to dashboard check box at the bottom of the blade.
    6. Fare clic su Create(Crea).Click Create.
  4. Al termine della creazione, viene visualizzato il pannello Data Factory come illustrato nell'immagine seguente: Data Factory Home pageAfter the creation is complete, you see the Data Factory blade as shown in the following image: Data factory home page

Copia guidataCopy Wizard

  1. Nella home page di Data Factory fare clic sul riquadro Copia dati per avviare Copy Data Wizard (Copia dati guidata).On the Data Factory home page, click the Copy data tile to launch Copy Data Wizard in a separate tab.

    Nota

    Se il Web browser è bloccato su "Concessione autorizzazioni in corso...", disabilitare/deselezionare l'impostazione Block third party cookies and site data (Blocca cookie e dati del sito di terze parti) oppure lasciarla abilitata, creare un'eccezione per login.microsoftonline.com e quindi provare di nuovo ad avviare la procedura guidata.If you see that the web browser is stuck at "Authorizing...", disable/uncheck Block third-party cookies and site data setting (or) keep it enabled and create an exception for login.microsoftonline.com and then try launching the wizard again.

  2. Nella pagina Proprietà :In the Properties page:

    1. Immettere CopyPipeline in Nome attività.Enter CopyPipeline for Task name. Il nome dell'attività è il nome della pipeline nella data factory.The task name is the name of the pipeline in your data factory.
    2. Immettere una descrizione per l'attività (facoltativo).Enter a description for the task (optional).
    3. In Task cadence or Task schedule (Cadenza attività o pianificazione attività) lasciare selezionata l'opzione Run regularly on schedule (Esegui periodicamente come pianificato).For Task cadence or Task schedule, keep the Run regularly on schedule option. Per eseguire questa attività una sola volta invece che ripetutamente in base a una pianificazione, selezionare Run once now (Esegui una volta ora).If you want to run this task only once instead of run repeatedly on a schedule, select Run once now. Se si seleziona l'opzione Run once now (Esegui una volta ora), viene creata una pipeline con esecuzione singola.If you select, Run once now option, a one-time pipeline is created.
    4. Mantenere le impostazioni per Recurring pattern (Schema ricorrente).Keep the settings for Recurring pattern. Questa attività viene eseguita ogni giorno tra le ore di inizio e fine specificate nel passaggio successivo.This task runs daily between the start and end times you specify in the next step.
    5. Impostare Start date time (Data e ora di inizio) su 21/04/2017.Change the Start date time to 04/21/2017.
    6. Impostare End date time (Data e ora di fine) su 25/04/2017.Change the End date time to 04/25/2017. È possibile digitare la data invece di cercarla nel calendario.You may want to type the date instead of browsing through the calendar.
    7. Fare clic su Next (Avanti).Click Next. Strumento di copia - Pagina ProprietàCopy Tool - Properties page
  3. Nella pagina Source data store (Archivio dati di origine) fare clic sul riquadro Archivio BLOB di Azure.On the Source data store page, click Azure Blob Storage tile. Usare questa pagina per specificare l'archivio dati di origine per l'attività di copia.You use this page to specify the source data store for the copy task. È possibile usare un servizio collegato di archivio dati esistente oppure specificare un nuovo archivio dati.You can use an existing data store linked service (or) specify a new data store. Per usare un servizio collegato esistente, selezionare FROM EXISTING LINKED SERVICES (DA SERVIZI COLLEGATI ESISTENTI) e selezionare il servizio collegato corretto.To use an existing linked service, you would select FROM EXISTING LINKED SERVICES and select the right linked service. Strumento di copia - Pagina Archivio dati di origineCopy Tool - Source data store page

  4. Nella pagina Specify the Azure Blob storage account (Specificare l'account di archiviazione BLOB di Azure):On the Specify the Azure Blob storage account page:

    1. Mantenere il nome generato automaticamente per Nome connessione.Keep the auto-generated name for Connection name. Il nome della connessione è il nome del servizio collegato di tipo: Archiviazione di Azure.The connection name is the name of the linked service of type: Azure Storage.
    2. Verificare che in Account selection method (Metodo di selezione dell'account) sia selezionata l'opzione From Azure subscriptions (Da sottoscrizioni di Azure).Confirm that From Azure subscriptions option is selected for Account selection method.
    3. Selezionare la sottoscrizione di Azure o mantenere Seleziona tutte per Sottoscrizione di Azure.Select your Azure subscription or keep Select all for Azure subscription.
    4. Selezionare un Account di archiviazione di Azure nell'elenco di quelli disponibili nella sottoscrizione selezionata.Select an Azure storage account from the list of Azure storage accounts available in the selected subscription. È anche possibile scegliere di immettere manualmente le impostazioni dell'account di archiviazione, selezionando l'opzione Immetti manualmente per Account selection method (Metodo di selezione dell'account).You can also choose to enter storage account settings manually by selecting Enter manually option for the Account selection method.
    5. Fare clic su Next (Avanti).Click Next.
      Strumento di copia - Specificare l'account di archiviazione BLOB di AzureCopy Tool - Specify the Azure Blob storage account
  5. Nella pagina Choose the input file or folder (Scegliere il file o la cartella di input):On Choose the input file or folder page:

    1. Fare doppio clic su adfblobcontainer.Double-click adfblobcontainer.
    2. Selezionare input e fare clic su Scegli.Select input, and click Choose. In questa procedura dettagliata si seleziona la cartella input.In this walkthrough, you select the input folder. È anche possibile scegliere invece il file emp.txt nella cartella.You could also select the emp.txt file in the folder instead. Strumento di copia - Scegliere il file o la cartella di inputCopy Tool - Choose the input file or folder
  6. Nella pagina Choose the input file or folder (Scegliere il file o la cartella di input):On the Choose the input file or folder page:

    1. Verificare che File o cartella sia impostato su adfblobconnector/input.Confirm that the file or folder is set to adfblobconnector/input. Se i file sono in cartelle secondarie, ad esempio 2017/04/01, 2017/04/02 e così via, immettere adfblobconnector/input/{anno}/{mese}/{giorno} per il file o la cartella.If the files are in sub folders, for example, 2017/04/01, 2017/04/02, and so on, enter adfblobconnector/input/{year}/{month}/{day} for file or folder. Quando si preme TAB al di fuori della casella di testo, vengono visualizzati tre elenchi a discesa per selezionare i formati per anno (yyyy), mese (MM) e giorno (dd).When you press TAB out of the text box, you see three drop-down lists to select formats for year (yyyy), month (MM), and day (dd).
    2. Non impostare Copy file recursively (Copia file in modo ricorsivo).Do not set Copy file recursively. Selezionare questa opzione per cercare in modo ricorsivo nelle cartelle i file da copiare nella destinazione.Select this option to recursively traverse through folders for files to be copied to the destination.
    3. Non selezionare l'opzione binary copy (Copia binaria).Do not the binary copy option. Selezionare questa opzione per eseguire una copia binaria del file di origine nella destinazione.Select this option to perform a binary copy of source file to the destination. Non selezionarla per questa procedura dettagliata per poter visualizzare altre opzioni nelle pagine successive.Do not select for this walkthrough so that you can see more options in the next pages.
    4. Verificare che Tipo di compressione sia impostato su Nessuno.Confirm that the Compression type is set to None. Selezionare un valore per questa opzione se i file di origine sono compressi in uno dei formati supportati.Select a value for this option if your source files are compressed in one of the supported formats.
    5. Fare clic su Next (Avanti).Click Next. Strumento di copia - Scegliere il file o la cartella di inputCopy Tool - Choose the input file or folder
  7. Nella pagina File format settings (Impostazioni di formato file) vengono visualizzati i delimitatori e lo schema rilevati automaticamente dalla procedura guidata analizzando il file.On the File format settings page, you see the delimiters and the schema that is auto-detected by the wizard by parsing the file.

    1. Confermare le opzioni seguenti:Confirm the following options:
      a.a. Il formato file è impostato su Testo.The file format is set to Text format. È possibile visualizzare tutti i formati supportati nell'elenco a discesa.You can see all the supported formats in the drop-down list. Ad esempio: JSON, Avro, ORC, Parquet.For example: JSON, Avro, ORC, Parquet. b.b. Il delimitatore di colonna è impostato su Comma (,).The column delimiter is set to Comma (,). È possibile visualizzare gli altri delimitatori di colonna supportati da Data Factory nell'elenco a discesa.You can see the other column delimiters supported by Data Factory in the drop-down list. È anche possibile specificare un delimitatore personalizzato.You can also specify a custom delimiter. c.c. Il delimitatore di riga è impostato su Carriage Return + Line feed (\r\n).The row delimiter is set to Carriage Return + Line feed (\r\n). È possibile visualizzare gli altri delimitatori di riga supportati da Data Factory nell'elenco a discesa.You can see the other row delimiters supported by Data Factory in the drop-down list. È anche possibile specificare un delimitatore personalizzato.You can also specify a custom delimiter. d.d. Il numero di righe da ignorare è impostato su 0.The skip line count is set to 0. Per ignorare alcune righe all'inizio del file, immettere il numero qui.If you want a few lines to be skipped at the top of the file, enter the number here. e.e. L'opzione Nomi di colonne nella prima riga di dati non è impostata.The first data row contains column names is not set. Se i file di origine contengano nomi di colonna nella prima riga, selezionare questa opzione.If the source files contain column names in the first row, select this option. f.f. L'opzione treat empty column value as null (Considera i valori di colonna vuoti come null) è impostata.The treat empty column value as null option is set.
    2. Espandere Impostazioni avanzate per visualizzare l'opzione avanzata disponibile.Expand Advanced settings to see advanced option available.
    3. Nella parte inferiore della pagina visualizzare l'anteprima dei dati del file emp.txt.At the bottom of the page, see the preview of data from the emp.txt file.
    4. Fare clic sulla scheda SCHEMA nella parte inferiore per visualizzate lo schema derivato dalla copia guidata esaminando i dati nel file di origine.Click SCHEMA tab at the bottom to see the schema that the copy wizard inferred by looking at the data in the source file.
    5. Dopo aver esaminato i delimitatori e i dati di anteprima, fare clic su Next (Avanti).Click Next after you review the delimiters and preview data. Strumento di copia - Impostazioni di formattazioni del fileCopy Tool - File format settings
  8. Nella pagina Destination data store (Archivio dati di destinazione) selezionare Archivio BLOB di Azure e quindi fare clic su Avanti.On the Destination data store page, select Azure Blob Storage, and click Next. In questa procedura dettagliata si usa l'archivio BLOB di Azure come archivio dati sia di origine che di destinazione.You are using the Azure Blob Storage as both the source and destination data stores in this walkthrough.
    Strumento di copia - Selezionare l'archivio dati di destinazioneCopy Tool - select destination data store

  9. Nella pagina Specify the Azure Blob storage account (Specificare l'account di archiviazione BLOB di Azure):On Specify the Azure Blob storage account page:

    1. Immettere AzureStorageLinkedService nel campo Connection name (Nome connessione).Enter AzureStorageLinkedService for the Connection name field.
    2. Verificare che in Account selection method (Metodo di selezione dell'account) sia selezionata l'opzione From Azure subscriptions (Da sottoscrizioni di Azure).Confirm that From Azure subscriptions option is selected for Account selection method.
    3. Selezionare la sottoscrizionedi Azure.Select your Azure subscription.
    4. Selezionare l'account di archiviazione di Azure.Select your Azure storage account.
    5. Fare clic su Next (Avanti).Click Next.
  10. Nella pagina Choose the output file or folder (Scegliere il file o la cartella di output):On the Choose the output file or folder page:

    1. In Percorso cartella specificare adfblobconnector/output/{year}/{month}/{day} (adfblobconnector/output/{anno}/{mese}/{giorno}).specify Folder path as adfblobconnector/output/{year}/{month}/{day}. Premere TAB.Enter TAB.
    2. Per anno, selezionare yyyy.For the year, select yyyy.
    3. Per mese, verificare che sia impostato su MM.For the month, confirm that it is set to MM.
    4. Per giorno, verificare che sia impostato su dd (gg).For the day, confirm that it is set to dd.
    5. Verificare che Tipo di compressione sia impostato su Nessuno.Confirm that the compression type is set to None.
    6. Verificare che copy behavior (Comportamento copia) sia impostato su Merge files (Unisci file).Confirm that the copy behavior is set to Merge files. Se esiste già un file di output con lo stesso nome, il nuovo contenuto viene aggiunto alla fine dello stesso file.If the output file with the same name already exists, the new content is added to the same file at the end.
    7. Fare clic su Next (Avanti).Click Next. Strumento di copia - Scegliere il file o la cartella di outputCopy Tool - Choose output file or folder
  11. Nella pagina File format settings (Impostazioni di formato file) rivedere le impostazioni e fare clic su Avanti.On the File format settings page, review the settings, and click Next. Una delle opzioni aggiuntive ora consiste nell'aggiungere un'intestazione al file di output.One of the additional options here is to add a header to the output file. Se si seleziona tale opzione, viene aggiunta una riga di intestazione con i nomi delle colonne dalla schema dell'origine.If you select that option, a header row is added with names of the columns from the schema of the source. È possibile rinominare i nomi di colonna predefiniti quando si visualizza lo schema per l'origine.You can rename the default column names when viewing the schema for the source. È ad esempio possibile impostare la prima colonna su Nome e la seconda colonna su Cognome.For example, you could change the first column to First Name and second column to Last Name. Viene quindi generato il file di output con un'intestazione contenente questi nomi come nomi di colonna.Then, the output file is generated with a header with these names as column names. Strumento di copia - Impostazioni di formatto file per la destinazioneCopy Tool - File format settings for destination

  12. Nella pagina Performance settings (Impostazioni prestazioni) verificare che cloud units (Unità cloud) e parallel copies (Copie parallele) siano impostati su Auto e fare clic su Avanti.On the Performance settings page, confirm that cloud units and parallel copies are set to Auto, and click Next. Per informazioni dettagliate su queste impostazioni, vedere Guida alle prestazioni dell'attività di copia e all'ottimizzazione.For details about these settings, see Copy activity performance and tuning guide. Strumento di copia - Impostazioni relative alle prestazioniCopy Tool - Performance settings

  13. Nella pagina Riepilogo rivedere tutte le impostazioni (proprietà dell'attività, impostazioni per l'origine e la destinazione e impostazioni di copia) e fare clic su Avanti.On the Summary page, review all settings (task properties, settings for source and destination, and copy settings), and click Next. Strumento di copia - Pagina RiepilogoCopy Tool - Summary page

  14. Verificare le informazioni nella pagina Riepilogo e fare clic su Fine.Review information in the Summary page, and click Finish. La procedura guidata crea due servizi collegati, due set di dati (input e output) e una pipeline nella data factory da cui è stata avviata la Copia guidata.The wizard creates two linked services, two datasets (input and output), and one pipeline in the data factory (from where you launched the Copy Wizard). Strumento di copia - Pagina di distribuzioneCopy Tool - Deployment page

Monitorare la pipeline (attività di copia)Monitor the pipeline (copy task)

  1. Fare clic sul collegamento Click here to monitor copy pipeline nella pagina Distribuzione.Click the link Click here to monitor copy pipeline on the Deployment page.
  2. L' applicazione di monitoraggio e gestione verrà visualizzata in una scheda separata. monitorare e gestire l'appYou should see the Monitor and Manage application in a separate tab. Monitor and Manage App
  3. Impostare l'ora di inizio nella parte superiore su 04/19/2017 e l'ora di fine su 04/27/2017 e quindi fare clic su Applica.Change the start time at the top to 04/19/2017 and end time to 04/27/2017, and then click Apply.
  4. Verranno visualizzate cinque finestre attività nell'elenco ACTIVITY WINDOWS (FINESTRE ATTIVITÀ).You should see five activity windows in the ACTIVITY WINDOWS list. Gli orari indicati da WindowStart (Inizio finestra) devono coprire tutti i giorni dagli orari di inizio della pipeline a quelli di fine.The WindowStart times should cover all days from pipeline start to pipeline end times.
  5. Fare clic sul pulsante Refresh (Aggiorna) di ACTIVITY WINDOWS (FINESTRE ATTIVITÀ) alcune volte finché lo stato di tutte le finestre attività non risulta impostato su Ready (Pronto).Click Refresh button for the ACTIVITY WINDOWS list a few times until you see the status of all the activity windows is set to Ready.
  6. Verificare ora che i file di output vengano generati nella cartella di output del contenitore adfblobconnector.Now, verify that the output files are generated in the output folder of adfblobconnector container. Nella cartella di output verrà visualizzata la struttura di cartelle seguente:You should see the following folder structure in the output folder:
    2017/04/21
    2017/04/22
    2017/04/23
    2017/04/24
    2017/04/25
    
    Per informazioni dettagliate sul monitoraggio e la gestione delle data factory, vedere l'articolo Monitorare e gestire le pipeline di Data Factory.For detailed information about monitoring and managing data factories, see Monitor and manage Data Factory pipeline article.

Entità di Data factoryData Factory entities

Tornare ora alla scheda con la home page di Data Factory.Now, switch back to the tab with the Data Factory home page. Si noti che ora nella data factory sono presenti due servizi collegati, due set di dati e una pipeline.Notice that there are two linked services, two datasets, and one pipeline in your data factory now.

Home page di Data Factory con entità

Fare clic su Creare e distribuire per avviare l'editor di Data Factory.Click Author and deploy to launch Data Factory Editor.

Editor di Data factory

Nella data factory verranno visualizzate le entità di Data Factory seguenti:You should see the following Data Factory entities in your data factory:

  • Due servizi collegati,Two linked services. uno per l'origine e l'altro per la destinazione.One for the source and the other one for the destination. Entrambi i servizi collegati fanno riferimento allo stesso account di archiviazione di Azure in questa procedura dettagliata.Both the linked services refer to the same Azure Storage account in this walkthrough.
  • Due set di dati,Two datasets. uno di input e uno di output.An input dataset and an output dataset. In questa procedura dettagliata entrambi usano lo stesso contenitore BLOB, ma fanno riferimento a cartelle diverse (input e output).In this walkthrough, both use the same blob container but refer to different folders (input and output).
  • Una pipeline.A pipeline. La pipeline contiene un'attività di copia che usa un'origine BLOB e un sink BLOB per copiare i dati da una posizione del BLOB di Azure a un'altra.The pipeline contains a copy activity that uses a blob source and a blob sink to copy data from an Azure blob location to another Azure blob location.

Le sezioni seguenti offrono altre informazioni su queste entità.The following sections provide more information about these entities.

Servizi collegatiLinked services

Verranno visualizzati due servizi collegati,You should see two linked services. uno per l'origine e l'altro per la destinazione.One for the source and the other one for the destination. In questa procedura dettagliata entrambe le definizioni sono uguali, fatta eccezione per i nomi.In this walkthrough, both definitions look the same except for the names. Il tipo del servizio collegato è impostato su AzureStorage.The type of the linked service is set to AzureStorage. La proprietà più importante della definizione di un servizio collegato è connectionString, usata da Data Factory per connettersi all'account di archiviazione di Azure in fase di esecuzione.Most important property of the linked service definition is the connectionString, which is used by Data Factory to connect to your Azure Storage account at runtime. Ignorare la proprietà hubName nella definizione.Ignore the hubName property in the definition.

Servizio collegato di archiviazione BLOB di origineSource blob storage linked service
{
    "name": "Source-BlobStorage-z4y",
    "properties": {
        "type": "AzureStorage",
        "typeProperties": {
            "connectionString": "DefaultEndpointsProtocol=https;AccountName=mystorageaccount;AccountKey=**********"
        }
    }
}
Servizio collegato di archiviazione BLOB di destinazioneDestination blob storage linked service
{
    "name": "Destination-BlobStorage-z4y",
    "properties": {
        "type": "AzureStorage",
        "typeProperties": {
            "connectionString": "DefaultEndpointsProtocol=https;AccountName=mystorageaccount;AccountKey=**********"
        }
    }
}

Per altre informazioni sui servizi collegati di archiviazione di Azure, vedere la sezione Proprietà del servizio collegato.For more information about Azure Storage linked service, see Linked service properties section.

Set di datiDatasets

Sono presenti due set di dati, uno di input e uno di output.There are two datasets: an input dataset and an output dataset. Il tipo di set di dati è impostato su AzureBlob per entrambi.The type of the dataset is set to AzureBlob for both.

Il set di dati di input punta alla cartella input del contenitore BLOB adfblobconnector.The input dataset points to the input folder of the adfblobconnector blob container. La proprietà external è impostata su true per questo set di dati perché i dati non vengono generati dalla pipeline con l'attività di copia che accetta questo set di dati come input.The external property is set to true for this dataset as the data is not produced by the pipeline with the copy activity that takes this dataset as an input.

Il set di dati di output punta alla cartella output dello stesso contenitore BLOB.The output dataset points to the output folder of the same blob container. Il set di dati di output usa anche l'anno, il mese e il giorno della variabile di sistema SliceStart per valutare in modo dinamico il percorso del file di output.The output dataset also uses the year, month, and day of the SliceStart system variable to dynamically evaluate the path for the output file. Per un elenco di funzioni e variabili di sistema supportate da Data Factory, vedere l'articolo Funzioni e variabili di sistema di Data Factory.For a list of functions and system variables supported by Data Factory, see Data Factory functions and system variables. La proprietà external è impostata su false (valore predefinito) perché questo set di dati viene generato dalla pipeline.The external property is set to false (default value) because this dataset is produced by the pipeline.

Per altre informazioni sulle proprietà supportate dal set di dati del BLOB di Azure, vedere la sezione Proprietà dei set di dati.For more information about properties supported by Azure Blob dataset, see Dataset properties section.

Set di dati di inputInput dataset
{
    "name": "InputDataset-z4y",
    "properties": {
        "structure": [
            { "name": "Prop_0", "type": "String" },
            { "name": "Prop_1", "type": "String" }
        ],
        "type": "AzureBlob",
        "linkedServiceName": "Source-BlobStorage-z4y",
        "typeProperties": {
            "folderPath": "adfblobconnector/input/",
            "format": {
                "type": "TextFormat",
                "columnDelimiter": ","
            }
        },
        "availability": {
            "frequency": "Day",
            "interval": 1
        },
        "external": true,
        "policy": {}
    }
}
Set di dati di outputOutput dataset
{
    "name": "OutputDataset-z4y",
    "properties": {
        "structure": [
            { "name": "Prop_0", "type": "String" },
            { "name": "Prop_1", "type": "String" }
        ],
        "type": "AzureBlob",
        "linkedServiceName": "Destination-BlobStorage-z4y",
        "typeProperties": {
            "folderPath": "adfblobconnector/output/{year}/{month}/{day}",
            "format": {
                "type": "TextFormat",
                "columnDelimiter": ","
            },
            "partitionedBy": [
                { "name": "year", "value": { "type": "DateTime", "date": "SliceStart", "format": "yyyy" } },
                { "name": "month", "value": { "type": "DateTime", "date": "SliceStart", "format": "MM" } },
                { "name": "day", "value": { "type": "DateTime", "date": "SliceStart", "format": "dd" } }
            ]
        },
        "availability": {
            "frequency": "Day",
            "interval": 1
        },
        "external": false,
        "policy": {}
    }
}

PipelinePipeline

La pipeline ha una sola attività.The pipeline has just one activity. Il tipo dell'attività è impostato su Copy.The type of the activity is set to Copy. Nelle proprietà del tipo dell'attività sono presenti due sezioni, una per l'origine e l'altra per il sink.In the type properties for the activity, there are two sections, one for source and the other one for sink. Il tipo dell'origine è impostato su BlobSource perché l'attività copia i dati da un archivio BLOB.The source type is set to BlobSource as the activity is copying data from a blob storage. Il tipo del sink è impostato su BlobSink perché l'attività copia i dati da un archivio BLOB.The sink type is set to BlobSink as the activity copying data to a blob storage. L'attività di copia accetta InputDataset-z4y come input e OutputDataset-z4y come output.The copy activity takes InputDataset-z4y as the input and OutputDataset-z4y as the output.

Per altre informazioni sulle proprietà supportate da BlobSource e BlobSink, vedere la sezione Proprietà dell'attività di copia.For more information about properties supported by BlobSource and BlobSink, see Copy activity properties section.

{
    "name": "CopyPipeline",
    "properties": {
        "activities": [
            {
                "type": "Copy",
                "typeProperties": {
                    "source": {
                        "type": "BlobSource",
                        "recursive": false
                    },
                    "sink": {
                        "type": "BlobSink",
                        "copyBehavior": "MergeFiles",
                        "writeBatchSize": 0,
                        "writeBatchTimeout": "00:00:00"
                    }
                },
                "inputs": [
                    {
                        "name": "InputDataset-z4y"
                    }
                ],
                "outputs": [
                    {
                        "name": "OutputDataset-z4y"
                    }
                ],
                "policy": {
                    "timeout": "1.00:00:00",
                    "concurrency": 1,
                    "executionPriorityOrder": "NewestFirst",
                    "style": "StartOfInterval",
                    "retry": 3,
                    "longRetry": 0,
                    "longRetryInterval": "00:00:00"
                },
                "scheduler": {
                    "frequency": "Day",
                    "interval": 1
                },
                "name": "Activity-0-Blob path_ adfblobconnector_input_->OutputDataset-z4y"
            }
        ],
        "start": "2017-04-21T22:34:00Z",
        "end": "2017-04-25T05:00:00Z",
        "isPaused": false,
        "pipelineMode": "Scheduled"
    }
}

Esempi JSON per la copia dei dati da e verso un archivio BLOBJSON examples for copying data to and from Blob Storage

Gli esempi seguenti forniscono le definizioni JSON di esempio che è possibile usare per creare una pipeline usando Visual Studio o Azure PowerShell.The following examples provide sample JSON definitions that you can use to create a pipeline by using Visual Studio or Azure PowerShell. Tali esempi mostrano come copiare dati da/in Archiviazione BLOB di Azure e Database SQL di Azure.They show how to copy data to and from Azure Blob Storage and Azure SQL Database. Tuttavia, i dati possono essere copiati direttamente da una delle origini in qualsiasi sink dichiarato qui usando l'attività di copia in Data factory di Azure.However, data can be copied directly from any of sources to any of the sinks stated here using the Copy Activity in Azure Data Factory.

Esempio JSON: Copiare dati da un archivio BLOB al database SQLJSON Example: Copy data from Blob Storage to SQL Database

L'esempio seguente mostra:The following sample shows:

  1. Un servizio collegato di tipo AzureSqlDatabase.A linked service of type AzureSqlDatabase.
  2. Un servizio collegato di tipo AzureStorage.A linked service of type AzureStorage.
  3. Un set di dati di input di tipo AzureBlob.An input dataset of type AzureBlob.
  4. Un set di dati di output di tipo AzureSqlTable.An output dataset of type AzureSqlTable.
  5. Una pipeline con attività di copia che usa BlobSource e SqlSink.A pipeline with a Copy activity that uses BlobSource and SqlSink.

L'esempio copia i dati di una serie temporale da un BLOB di Azure in una tabella di Azure SQL ogni ora.The sample copies time-series data from an Azure blob to an Azure SQL table hourly. Le proprietà JSON usate in questi esempi sono descritte nelle sezioni riportate dopo gli esempi.The JSON properties used in these samples are described in sections following the samples.

Servizio collegato SQL di Azure:Azure SQL linked service:

{
  "name": "AzureSqlLinkedService",
  "properties": {
    "type": "AzureSqlDatabase",
    "typeProperties": {
      "connectionString": "Server=tcp:<servername>.database.windows.net,1433;Database=<databasename>;User ID=<username>@<servername>;Password=<password>;Trusted_Connection=False;Encrypt=True;Connection Timeout=30"
    }
  }
}

Servizio collegato Archiviazione di Azure:Azure Storage linked service:

{
  "name": "StorageLinkedService",
  "properties": {
    "type": "AzureStorage",
    "typeProperties": {
      "connectionString": "DefaultEndpointsProtocol=https;AccountName=<accountname>;AccountKey=<accountkey>"
    }
  }
}

Azure Data Factory supporta due tipi di servizi collegati di Archiviazione di Azure, AzureStorage e AzureStorageSas.Azure Data Factory supports two types of Azure Storage linked services: AzureStorage and AzureStorageSas. Per il primo specificare la stringa di connessione che include la chiave dell'account e per il secondo specificare l'URI di firma di accesso condiviso.For the first one, you specify the connection string that includes the account key and for the later one, you specify the Shared Access Signature (SAS) Uri. Per informazioni dettagliate, vedere la sezione Servizi collegati .See Linked Services section for details.

Set di dati di input del BLOB di Azure:Azure Blob input dataset:

I dati vengono prelevati da un nuovo BLOB ogni ora (frequenza: ora, intervallo: 1).Data is picked up from a new blob every hour (frequency: hour, interval: 1). Il percorso della cartella e il nome del file per il BLOB vengono valutati dinamicamente in base all'ora di inizio della sezione in fase di elaborazione.The folder path and file name for the blob are dynamically evaluated based on the start time of the slice that is being processed. Il percorso della cartella usa le parti anno, mese, e giorno dell'ora di inizio e il nome del file usa la parte dell'ora di inizio relativa all'ora.The folder path uses year, month, and day part of the start time and file name uses the hour part of the start time. L'impostazione di "external" su "true" comunica a Data Factory che la tabella è esterna alla data factory e non è prodotta da un'attività al suo interno.“external”: “true” setting informs Data Factory that the table is external to the data factory and is not produced by an activity in the data factory.

{
  "name": "AzureBlobInput",
  "properties": {
    "type": "AzureBlob",
    "linkedServiceName": "StorageLinkedService",
    "typeProperties": {
      "folderPath": "mycontainer/myfolder/yearno={Year}/monthno={Month}/dayno={Day}/",
      "fileName": "{Hour}.csv",
      "partitionedBy": [
        { "name": "Year", "value": { "type": "DateTime", "date": "SliceStart", "format": "yyyy" } },
        { "name": "Month", "value": { "type": "DateTime", "date": "SliceStart", "format": "MM" } },
        { "name": "Day", "value": { "type": "DateTime", "date": "SliceStart", "format": "dd" } },
        { "name": "Hour", "value": { "type": "DateTime", "date": "SliceStart", "format": "HH" } }
      ],
      "format": {
        "type": "TextFormat",
        "columnDelimiter": ",",
        "rowDelimiter": "\n"
      }
    },
    "external": true,
    "availability": {
      "frequency": "Hour",
      "interval": 1
    },
    "policy": {
      "externalData": {
        "retryInterval": "00:01:00",
        "retryTimeout": "00:10:00",
        "maximumRetry": 3
      }
    }
  }
}

Set di dati di output SQL Azure:Azure SQL output dataset:

L'esempio copia i dati in una tabella denominata "MyTable" in un database SQL di Azure.The sample copies data to a table named “MyTable” in an Azure SQL database. Creare la tabella nel database SQL di Azure con lo stesso numero di colonne di quelle previste nel file CSV del BLOB.Create the table in your Azure SQL database with the same number of columns as you expect the Blob CSV file to contain. Alla tabella vengono aggiunte nuove righe ogni ora.New rows are added to the table every hour.

{
  "name": "AzureSqlOutput",
  "properties": {
    "type": "AzureSqlTable",
    "linkedServiceName": "AzureSqlLinkedService",
    "typeProperties": {
      "tableName": "MyOutputTable"
    },
    "availability": {
      "frequency": "Hour",
      "interval": 1
    }
  }
}

Un'attività di copia in una pipeline con un'origine BLOB e un sink SQL:A copy activity in a pipeline with Blob source and SQL sink:

La pipeline contiene un'attività di copia configurata per usare i set di dati di input e output ed è programmata per essere eseguita ogni ora.The pipeline contains a Copy Activity that is configured to use the input and output datasets and is scheduled to run every hour. Nella definizione JSON della pipeline, il tipo di origine è impostato su BlobSource e il tipo sink è impostato su SqlSink.In the pipeline JSON definition, the source type is set to BlobSource and sink type is set to SqlSink.

{
  "name":"SamplePipeline",
  "properties":{
    "start":"2014-06-01T18:00:00",
    "end":"2014-06-01T19:00:00",
    "description":"pipeline with copy activity",
    "activities":[
      {
        "name": "AzureBlobtoSQL",
        "description": "Copy Activity",
        "type": "Copy",
        "inputs": [
          {
            "name": "AzureBlobInput"
          }
        ],
        "outputs": [
          {
            "name": "AzureSqlOutput"
          }
        ],
        "typeProperties": {
          "source": {
            "type": "BlobSource"
          },
          "sink": {
            "type": "SqlSink"
          }
        },
        "scheduler": {
          "frequency": "Hour",
          "interval": 1
        },
        "policy": {
          "concurrency": 1,
          "executionPriorityOrder": "OldestFirst",
          "retry": 0,
          "timeout": "01:00:00"
        }
      }
    ]
  }
}

Esempio JSON: Copiare i dati da SQL Azure al BLOB di AzureJSON Example: Copy data from Azure SQL to Azure Blob

L'esempio seguente mostra:The following sample shows:

  1. Un servizio collegato di tipo AzureSqlDatabase.A linked service of type AzureSqlDatabase.
  2. Un servizio collegato di tipo AzureStorage.A linked service of type AzureStorage.
  3. Un set di dati di input di tipo AzureSqlTable.An input dataset of type AzureSqlTable.
  4. Un set di dati di output di tipo AzureBlob.An output dataset of type AzureBlob.
  5. Una pipeline con attività di copia che usa SqlSource e BlobSink.A pipeline with Copy activity that uses SqlSource and BlobSink.

L'esempio copia i dati di una serie temporale da una tabella di Azure SQL in un BLOB di Azure ogni ora.The sample copies time-series data from an Azure SQL table to an Azure blob hourly. Le proprietà JSON usate in questi esempi sono descritte nelle sezioni riportate dopo gli esempi.The JSON properties used in these samples are described in sections following the samples.

Servizio collegato SQL di Azure:Azure SQL linked service:

{
  "name": "AzureSqlLinkedService",
  "properties": {
    "type": "AzureSqlDatabase",
    "typeProperties": {
      "connectionString": "Server=tcp:<servername>.database.windows.net,1433;Database=<databasename>;User ID=<username>@<servername>;Password=<password>;Trusted_Connection=False;Encrypt=True;Connection Timeout=30"
    }
  }
}

Servizio collegato Archiviazione di Azure:Azure Storage linked service:

{
  "name": "StorageLinkedService",
  "properties": {
    "type": "AzureStorage",
    "typeProperties": {
      "connectionString": "DefaultEndpointsProtocol=https;AccountName=<accountname>;AccountKey=<accountkey>"
    }
  }
}

Azure Data Factory supporta due tipi di servizi collegati di Archiviazione di Azure, AzureStorage e AzureStorageSas.Azure Data Factory supports two types of Azure Storage linked services: AzureStorage and AzureStorageSas. Per il primo specificare la stringa di connessione che include la chiave dell'account e per il secondo specificare l'URI di firma di accesso condiviso.For the first one, you specify the connection string that includes the account key and for the later one, you specify the Shared Access Signature (SAS) Uri. Per informazioni dettagliate, vedere la sezione Servizi collegati .See Linked Services section for details.

Set di dati di input SQL Azure:Azure SQL input dataset:

L'esempio presuppone che sia stata creata una tabella "MyTable" in SQL Azure e che contenga una colonna denominata "timestampcolumn" per i dati di una serie temporale.The sample assumes you have created a table “MyTable” in Azure SQL and it contains a column called “timestampcolumn” for time series data.

Impostando "external" su "true" si comunica al servizio Data Factory che la tabella è esterna alla data factory e non è prodotta da un'attività al suo interno.Setting “external”: ”true” informs Data Factory service that the table is external to the data factory and is not produced by an activity in the data factory.

{
  "name": "AzureSqlInput",
  "properties": {
    "type": "AzureSqlTable",
    "linkedServiceName": "AzureSqlLinkedService",
    "typeProperties": {
      "tableName": "MyTable"
    },
    "external": true,
    "availability": {
      "frequency": "Hour",
      "interval": 1
    },
    "policy": {
      "externalData": {
        "retryInterval": "00:01:00",
        "retryTimeout": "00:10:00",
        "maximumRetry": 3
      }
    }
  }
}

Set di dati di output del BLOB di Azure:Azure Blob output dataset:

I dati vengono scritti in un nuovo BLOB ogni ora (frequenza: ora, intervallo: 1).Data is written to a new blob every hour (frequency: hour, interval: 1). Il percorso della cartella per il BLOB viene valutato dinamicamente in base all'ora di inizio della sezione in fase di elaborazione.The folder path for the blob is dynamically evaluated based on the start time of the slice that is being processed. Il percorso della cartella usa le parti anno, mese, giorno e ora dell'ora di inizio.The folder path uses year, month, day, and hours parts of the start time.

{
  "name": "AzureBlobOutput",
  "properties": {
    "type": "AzureBlob",
    "linkedServiceName": "StorageLinkedService",
    "typeProperties": {
      "folderPath": "mycontainer/myfolder/yearno={Year}/monthno={Month}/dayno={Day}/hourno={Hour}/",
      "partitionedBy": [
        {
          "name": "Year",
          "value": { "type": "DateTime", "date": "SliceStart", "format": "yyyy" } },
        { "name": "Month", "value": { "type": "DateTime", "date": "SliceStart", "format": "MM" } },
        { "name": "Day", "value": { "type": "DateTime", "date": "SliceStart", "format": "dd" } },
        { "name": "Hour", "value": { "type": "DateTime", "date": "SliceStart", "format": "HH" } }
      ],
      "format": {
        "type": "TextFormat",
        "columnDelimiter": "\t",
        "rowDelimiter": "\n"
      }
    },
    "availability": {
      "frequency": "Hour",
      "interval": 1
    }
  }
}

Un'attività di copia in una pipeline con un'origine SQL e un sink BLOB:A copy activity in a pipeline with SQL source and Blob sink:

La pipeline contiene un'attività di copia configurata per usare i set di dati di input e output ed è programmata per essere eseguita ogni ora.The pipeline contains a Copy Activity that is configured to use the input and output datasets and is scheduled to run every hour. Nella definizione JSON della pipeline, il tipo source è impostato su SqlSource e il tipo sink è impostato su BlobSink.In the pipeline JSON definition, the source type is set to SqlSource and sink type is set to BlobSink. La query SQL specificata per la proprietà SqlReaderQuery consente di selezionare i dati da copiare nell'ultima ora.The SQL query specified for the SqlReaderQuery property selects the data in the past hour to copy.

{
    "name":"SamplePipeline",
    "properties":{
        "start":"2014-06-01T18:00:00",
        "end":"2014-06-01T19:00:00",
        "description":"pipeline for copy activity",
        "activities":[
            {
                "name": "AzureSQLtoBlob",
                "description": "copy activity",
                "type": "Copy",
                "inputs": [
                    {
                        "name": "AzureSQLInput"
                    }
                ],
                "outputs": [
                    {
                        "name": "AzureBlobOutput"
                    }
                ],
                "typeProperties": {
                    "source": {
                        "type": "SqlSource",
                        "SqlReaderQuery": "$$Text.Format('select * from MyTable where timestampcolumn >= \\'{0:yyyy-MM-dd HH:mm}\\' AND timestampcolumn < \\'{1:yyyy-MM-dd HH:mm}\\'', WindowStart, WindowEnd)"
                    },
                    "sink": {
                        "type": "BlobSink"
                    }
                },
                "scheduler": {
                    "frequency": "Hour",
                    "interval": 1
                },
                "policy": {
                    "concurrency": 1,
                    "executionPriorityOrder": "OldestFirst",
                    "retry": 0,
                    "timeout": "01:00:00"
                }
            }
        ]
    }
}

Nota

Per eseguire il mapping dal set di dati di origine alle colonne del set di dati sink, vedere Mapping delle colonne del set di dati in Azure Data Factory.To map columns from source dataset to columns from sink dataset, see Mapping dataset columns in Azure Data Factory.

Ottimizzazione delle prestazioniPerformance and Tuning

Per informazioni sui fattori chiave che influiscono sulle prestazioni dello spostamento dei dati, ovvero dell'attività di copia, in Azure Data Factory e sui vari modi per ottimizzare tali prestazioni, vedere la Guida alle prestazioni delle attività di copia e all'ottimizzazione.See Copy Activity Performance & Tuning Guide to learn about key factors that impact performance of data movement (Copy Activity) in Azure Data Factory and various ways to optimize it.