Spostare dati da un server SFTP usando Azure Data FactoryMove data from an SFTP server 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 Connettore SFTP nella versione 2.If you are using the current version of the Data Factory service, see SFTPconnector in V2.

Questo articolo illustra come usare l'attività di copia in Azure Data Factory per spostare dati da un server SFTP locale o cloud a un archivio dati sink supportato.This article outlines how to use the Copy Activity in Azure Data Factory to move data from an on-premises/cloud SFTP server to a supported sink data store. Questo articolo si basa sull'articolo relativo alle attività di spostamento dei dati, che offre una panoramica generale dello spostamento dei dati con attività di copia e l'elenco degli archivi dati supportati come origini/sink.This article builds on the data movement activities article that presents a general overview of data movement with copy activity and the list of data stores supported as sources/sinks.

Data Factory supporta attualmente solo lo spostamento di dati da un server SFTP ad altri archivi dati, non da altri archivi dati a un server SFTP.Data factory currently supports only moving data from an SFTP server to other data stores, but not for moving data from other data stores to an SFTP server. Supporta i server SFTP locali e cloud.It supports both on-premises and cloud SFTP servers.

Nota

L'attività di copia non elimina il file di origine dopo che è stato correttamente copiato nella destinazione.Copy Activity does not delete the source file after it is successfully copied to the destination. Se è necessario eliminare il file di origine dopo una copia con esito positivo, creare un'attività personalizzata per eliminare il file e usare l'attività nella pipeline.If you need to delete the source file after a successful copy, create a custom activity to delete the file and use the activity in the pipeline.

Scenari supportati e tipi di autenticazioneSupported scenarios and authentication types

È possibile usare questo connettore SFTP per copiare dati da server cloud SFTP e SFTP locali.You can use this SFTP connector to copy data from both cloud SFTP servers and on-premises SFTP servers. Quando ci si connette al server SFTP sono supportati i tipi di chiave di autenticazione Base e SshPublicKey.Basic and SshPublicKey authentication types are supported when connecting to the SFTP server.

Quando si copiano dati da un server SFTP locale, è necessario installare un gateway di gestione dati nella VM di Azure o nell'ambiente locale.When copying data from an on-premises SFTP server, you need install a Data Management Gateway in the on-premises environment/Azure VM. Per informazioni dettagliate sul gateway, vedere Gateway di gestione dati.See Data Management Gateway for details on the gateway. Vedere l'articolo sullo spostamento di dati tra sedi locali e cloud per istruzioni dettagliate sulla configurazione e sull'uso del gateway.See moving data between on-premises locations and cloud article for step-by-step instructions on setting up the gateway and using it.

IntroduzioneGetting started

È possibile creare una pipeline con l'attività di copia che sposta i dati da un'origine SFTP usando diversi strumenti/API.You can create a pipeline with a copy activity that moves data from an SFTP source by using different tools/APIs.

Proprietà del servizio collegatoLinked service properties

La tabella seguente contiene le descrizioni degli elementi JSON specifici del servizio collegato FTP.The following table provides description for JSON elements specific to FTP linked service.

ProprietàProperty DescrizioneDescription ObbligatorioRequired
typetype La proprietà type deve essere impostata su Sftp.The type property must be set to Sftp. Yes
hosthost Nome o indirizzo IP del server SFTP.Name or IP address of the SFTP server. Yes
portport Porta su cui è in ascolto il server SFTP.Port on which the SFTP server is listening. Il valore predefinito è 21The default value is: 21 NoNo
authenticationTypeauthenticationType Specificare il tipo di autenticazione.Specify authentication type. Valori consentiti: Base, SshPublicKey.Allowed values: Basic, SshPublicKey.

Fare riferimento alle sezioni Uso dell'autenticazione di base e Uso dell'autenticazione con chiave pubblica SSH rispettivamente per vedere altre proprietà ed esempi JSON.Refer to Using basic authentication and Using SSH public key authentication sections on more properties and JSON samples respectively.
Yes
skipHostKeyValidationskipHostKeyValidation Specificare se si desidera ignorare la convalida tramite della chiave host.Specify whether to skip host key validation. No.No. Il valore predefinito è: falsoThe default value: false
hostKeyFingerprinthostKeyFingerprint Specificare le impronte digitali della chiave host.Specify the finger print of the host key. Sì se skipHostKeyValidation è impostato su falso.Yes if the skipHostKeyValidation is set to false.
gatewayNamegatewayName Nome del gateway di gestione dati per connettersi a un server SFTP locale.Name of the Data Management Gateway to connect to an on-premises SFTP server. Sì se si copiano i dati da un server SFTP locale.Yes if copying data from an on-premises SFTP server.
encryptedCredentialencryptedCredential Credenziali crittografate per accedere al server SFTP.Encrypted credential to access the SFTP server. Generato automaticamente quando si specifica l'autenticazione di base (nome utente e password) o l'autenticazione SshPublicKey (nome utente e percorso della chiave privato o contenuto) nella copia guidata o nella finestra di dialogo popup ClickOnce.Auto-generated when you specify basic authentication (username + password) or SshPublicKey authentication (username + private key path or content) in copy wizard or the ClickOnce popup dialog. No.No. Applicare solo se si copiano i dati da un server SFTP locale.Apply only when copying data from an on-premises SFTP server.

Uso dell'autenticazione di baseUsing basic authentication

Per usare l'autenticazione di base, impostare authenticationType come Basic e specificare le proprietà seguenti oltre a quelle generiche del connettore SFTP introdotte nell'ultima sezione:To use basic authentication, set authenticationType as Basic, and specify the following properties besides the SFTP connector generic ones introduced in the last section:

ProprietàProperty DescrizioneDescription ObbligatorioRequired
Nome utenteusername Utente che ha accesso al server SFTP.User who has access to the SFTP server. Yes
passwordpassword Password per l'utente (nome utente).Password for the user (username). Yes

Esempio: autenticazione di baseExample: Basic authentication

{
    "name": "SftpLinkedService",
    "properties": {
        "type": "Sftp",
        "typeProperties": {
            "host": "mysftpserver",
            "port": 22,
            "authenticationType": "Basic",
            "username": "xxx",
            "password": "xxx",
            "skipHostKeyValidation": false,
            "hostKeyFingerPrint": "ssh-rsa 2048 xx:00:00:00:xx:00:x0:0x:0x:0x:0x:00:00:x0:x0:00",
            "gatewayName": "mygateway"
        }
    }
}

Esempio: autenticazione di base con credenziali crittografateExample: Basic authentication with encrypted credential

{
    "name": "SftpLinkedService",
    "properties": {
        "type": "Sftp",
        "typeProperties": {
            "host": "mysftpserver",
            "port": 22,
            "authenticationType": "Basic",
            "username": "xxx",
            "encryptedCredential": "xxxxxxxxxxxxxxxxx",
            "skipHostKeyValidation": false,
            "hostKeyFingerPrint": "ssh-rsa 2048 xx:00:00:00:xx:00:x0:0x:0x:0x:0x:00:00:x0:x0:00",
            "gatewayName": "mygateway"
        }
      }
}

Uso dell'autenticazione con chiave pubblica SSHUsing SSH public key authentication

Per usare l'autenticazione con chiave pubblica SSH, impostare authenticationType su SshPublicKey e specificare le proprietà seguenti oltre a quelle generiche del connettore SFTP presentate nell'ultima sezione:To use SSH public key authentication, set authenticationType as SshPublicKey, and specify the following properties besides the SFTP connector generic ones introduced in the last section:

ProprietàProperty DescrizioneDescription ObbligatorioRequired
Nome utenteusername Utente che ha accesso al server SFTPUser who has access to the SFTP server Yes
privateKeyPathprivateKeyPath Specificare un percorso assoluto al file di chiave privato a cui il gateway può accedere.Specify absolute path to the private key file that gateway can access. Specificare privateKeyPath o privateKeyContent.Specify either the privateKeyPath or privateKeyContent.

Applicare solo se si copiano i dati da un server SFTP locale.Apply only when copying data from an on-premises SFTP server.
privateKeyContentprivateKeyContent Una stringa serializzata del contenuto di chiave privata.A serialized string of the private key content. La copia guidata può leggere il file di chiave privata ed estrarre automaticamente il contenuto della chiave privata.The Copy Wizard can read the private key file and extract the private key content automatically. Se si usa un qualsiasi altro strumento/SDK, usare la proprietà privateKeyPath.If you are using any other tool/SDK, use the privateKeyPath property instead. Specificare privateKeyPath o privateKeyContent.Specify either the privateKeyPath or privateKeyContent.
passPhrasepassPhrase Specificare la passphrase o la password per decrittografare la chiave privata se il file della chiave è protetto da una passphrase.Specify the pass phrase/password to decrypt the private key if the key file is protected by a pass phrase. Sì se il file della chiave privata è protetto da una passphrase.Yes if the private key file is protected by a pass phrase.

Nota

Il connettore SFTP supporta chiavi OpenSSH RSA/DSA.SFTP connector supports RSA/DSA OpenSSH key. Verificare che il contenuto del file di codice inizi con "-----BEGIN [RSA/DSA] PRIVATE KEY-----".Make sure your key file content starts with "-----BEGIN [RSA/DSA] PRIVATE KEY-----". Se il file di codice privato è un file in formato ppk, usare lo strumento Putty per convertirlo dal formato ppk in formato OpenSSH.If the private key file is a ppk-format file, please use Putty tool to convert from .ppk to OpenSSH format.

Esempio: Autenticazione SshPublicKey con chiave privata filePathExample: SshPublicKey authentication using private key filePath

{
    "name": "SftpLinkedServiceWithPrivateKeyPath",
    "properties": {
        "type": "Sftp",
        "typeProperties": {
            "host": "mysftpserver",
            "port": 22,
            "authenticationType": "SshPublicKey",
            "username": "xxx",
            "privateKeyPath": "D:\\privatekey_openssh",
            "passPhrase": "xxx",
            "skipHostKeyValidation": true,
            "gatewayName": "mygateway"
        }
    }
}

Esempio: Autenticazione SshPublicKey con contenuto della chiave privataExample: SshPublicKey authentication using private key content

{
    "name": "SftpLinkedServiceWithPrivateKeyContent",
    "properties": {
        "type": "Sftp",
        "typeProperties": {
            "host": "mysftpserver.westus.cloudapp.azure.com",
            "port": 22,
            "authenticationType": "SshPublicKey",
            "username": "xxx",
            "privateKeyContent": "<base64 string of the private key content>",
            "passPhrase": "xxx",
            "skipHostKeyValidation": true
        }
    }
}

Proprietà del set di datiDataset properties

Per un elenco completo delle sezioni e delle proprietà disponibili per la definizione di set di dati, vedere l'articolo sulla creazione di set di dati.For a full list of 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.Sections such as structure, availability, and policy of a dataset JSON are similar for all dataset types.

La sezione typeProperties è diversa per ogni tipo di set di dati.The typeProperties section is different for each type of dataset. Fornisce informazioni specifiche del tipo di set di dati.It provides information that is specific to the dataset type. La sezione typeProperties per un set di dati di tipo FileShare presenta le proprietà seguenti:The typeProperties section for a dataset of type FileShare dataset has the following properties:

ProprietàProperty DescrizioneDescription ObbligatorioRequired
folderPathfolderPath Sottopercorso alla cartella.Sub path to the folder. Usare il carattere di escape "" per i caratteri speciali nella stringa.Use escape character ‘ \ ’ for special characters in the string. Per ottenere alcuni esempi, vedere Servizio collegato di esempio e definizioni del set di dati.See Sample linked service and dataset definitions for examples.

È possibile combinare questa proprietà con partitionBy per ottenere percorsi di cartelle basati su data e ora di inizio/fine delle sezioni.You can combine this property with partitionBy to have folder paths based on slice start/end date-times.
Yes
fileNamefileName Specificare il nome del file in folderPath se si vuole che la tabella faccia riferimento a un file specifico nella cartella.Specify the name of the file in the folderPath if you want the table to refer to a specific file in the folder. Se non si specifica alcun valore per questa proprietà, la tabella punta a tutti i file nella cartella.If you do not specify any value for this property, the table points to all files in the folder.

Quando fileName non viene specificato per un set di dati di output, il nome del file generato sarà nel formato seguente:When fileName is not specified for an output dataset, the name of the generated file would be in the following this format:

Data.<Guid>.txt (ad esempio: data. 0a405f8a-93ff-4C6F-B3BE-f69616f1df7a. txtData.<Guid>.txt (Example: Data.0a405f8a-93ff-4c6f-b3be-f69616f1df7a.txt
NoNo
fileFilterfileFilter Specificare un filtro da usare per selezionare un sottoinsieme di file in folderPath anziché tutti i file.Specify a filter to be used to select a subset of files in the folderPath rather than all files.

I valori consentiti sono: * (più caratteri) e ? (carattere singolo).Allowed values are: * (multiple characters) and ? (single character).

Esempi 1: "fileFilter": "*.log"Examples 1: "fileFilter": "*.log"
Esempio 2: "fileFilter": 2014-1-?.txt"Example 2: "fileFilter": 2014-1-?.txt"

fileFilter è applicabile per un set di dati di input FileShare.fileFilter is applicable for an input FileShare dataset. Questa proprietà non è supportata con HDFS.This property is not supported with HDFS.
NoNo
partitionedBypartitionedBy partitionedBy può essere usato per specificare un valore folderPath dinamico e un nome file per i dati di una serie temporale.partitionedBy can be used to specify a dynamic folderPath, filename for time series data. Ad esempio, folderPath con parametri per ogni ora di dati.For example, folderPath parameterized for every hour of data. 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
useBinaryTransferuseBinaryTransfer Specificare se usare la modalità di trasferimento binario.Specify whether use Binary transfer mode. True per la modalità binaria e false per ASCII.True for binary mode and false ASCII. Valore predefinito: True.Default value: True. Questa proprietà può essere usata solo quando il tipo di servizio collegato associato è di tipo: FtpServer.This property can only be used when associated linked service type is of type: FtpServer. NoNo

Nota

filename e fileFilter non possono essere usati contemporaneamente.filename and fileFilter cannot be used simultaneously.

Uso della proprietà partionedByUsing partionedBy property

Come indicato nella sezione precedente, partitionedBy può essere usato per specificare un valore folderPath dinamico e un nome file per i dati di una serie temporale.As mentioned in the previous section, you can specify a dynamic folderPath, filename for time series data with partitionedBy. È possibile eseguire questa operazione con le macro della data factory e le variabili di sistema SliceStart, SliceEnd, che indicano il periodo di tempo logico per una sezione di dati specificata.You can do so with the Data Factory macros and the system variable SliceStart, SliceEnd that indicate the logical time period for a given data slice.

Per informazioni sui set di dati delle serie temporali, sulla pianificazione e sulle sezioni, vedere gli articoli Creazione di set di dati, Pianificazione ed esecuzione e Creazione di pipeline.To learn about time series datasets, scheduling, and slices, See Creating Datasets, Scheduling & Execution, and Creating Pipelines articles.

Esempio 1.Sample 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. Esempio: wikidatagateway/wikisampledataout/2014100103 o wikidatagateway/wikisampledataout/2014100104.Example: wikidatagateway/wikisampledataout/2014100103 or wikidatagateway/wikisampledataout/2014100104.

Esempio 2:Sample 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. Per tutti i tipi di attività sono disponibili proprietà come nome, descrizione, tabelle di input e output e criteri.Properties such as name, description, input and output tables, 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, the properties available in the typeProperties section of the activity vary with each activity type. Per l'attività di copia, le proprietà del tipo variano in base ai tipi di origine e sink.For Copy activity, the type properties vary depending on the types of sources and sinks.

Nell'attività di copia con origine di tipo FileSystemSource, nella sezione typeProperties sono disponibili le proprietà seguenti:In Copy Activity, when source is of type FileSystemSource, the following properties are available in typeProperties section:

ProprietàProperty DESCRIZIONEDescription Valori consentitiAllowed values ObbligatorioRequired
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, False (valore predefinito)True, False (default) NoNo

Formati di file e di compressione supportatiSupported file and compression formats

Per i dettagli, vedere l'articolo relativo ai file e formati di compressione in Azure Data Factory.See File and compression formats in Azure Data Factory article on details.

Esempio JSON: copiare i dati dal server SFTP in BLOB di AzureJSON Example: Copy data from SFTP server to Azure blob

L'esempio seguente fornisce le definizioni JSON di esempio che è possibile usare per creare una pipeline usando Visual Studio o Azure PowerShell.The following example provides sample JSON definitions that you can use to create a pipeline by using Visual Studio or Azure PowerShell. Illustrano come copiare dati da un'origine SFTP in un archivio BLOB di Azure.They show how to copy data from SFTP source to Azure Blob Storage. 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.

Importante

Questo esempio fornisce frammenti di codice JSON.This sample provides JSON snippets. Non include istruzioni dettagliate per la creazione della data factory.It does not include step-by-step instructions for creating the data factory. Le istruzioni dettagliate sono disponibili nell'articolo Spostare dati tra origini locali e il cloud .See moving data between on-premises locations and cloud article for step-by-step instructions.

L'esempio include le entità di Data factory seguenti:The sample has the following data factory entities:

Nell'esempio i dati vengono copiati da un server SFTP a un BLOB di Azure ogni ora.The sample copies data from an SFTP server to an Azure blob every hour. 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 SFTPSFTP linked service

Questo esempio usa l'autenticazione di base con il nome utente e la password in testo normale.This example uses the basic authentication with user name and password in plain text. È possibile anche usare uno dei tre metodi seguenti:You can also use one of the following ways:

  • Autenticazione di base con credenziali crittografateBasic authentication with encrypted credentials
  • Autenticazione con chiave pubblica SSHSSH public key authentication

Per i diversi tipi di autenticazione disponibili, vedere la sezione relativa al servizio collegato FTP.See FTP linked service section for different types of authentication you can use.


{
    "name": "SftpLinkedService",
    "properties": {
        "type": "Sftp",
        "typeProperties": {
            "host": "mysftpserver",
            "port": 22,
            "authenticationType": "Basic",
            "username": "myuser",
            "password": "mypassword",
            "skipHostKeyValidation": false,
            "hostKeyFingerPrint": "ssh-rsa 2048 xx:00:00:00:xx:00:x0:0x:0x:0x:0x:00:00:x0:x0:00",
            "gatewayName": "mygateway"
        }
    }
}

Servizio collegato Archiviazione di AzureAzure Storage linked service

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

Set di dati di input SFTPSFTP input dataset

Questo set di dati fa riferimento alla cartella FTP mysharedfolder e al file test.csv.This dataset refers to the SFTP folder mysharedfolder and file test.csv. La pipeline copia il file nella destinazione.The pipeline copies the file to the destination.

Impostando "external": "true" si comunica al servizio Data Factory che il set di dati è esterno alla data factory e non è prodotto da un'attività al suo interno.Setting "external": "true" informs the Data Factory service that the dataset is external to the data factory and is not produced by an activity in the data factory.

{
  "name": "SFTPFileInput",
  "properties": {
    "type": "FileShare",
    "linkedServiceName": "SftpLinkedService",
    "typeProperties": {
      "folderPath": "mysharedfolder",
      "fileName": "test.csv"
    },
    "external": true,
    "availability": {
      "frequency": "Hour",
      "interval": 1
    }
  }
}

Set di dati di output del BLOB di AzureAzure 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": "AzureStorageLinkedService",
        "typeProperties": {
            "folderPath": "mycontainer/sftp/yearno={Year}/monthno={Month}/dayno={Day}/hourno={Hour}",
            "format": {
                "type": "TextFormat",
                "rowDelimiter": "\n",
                "columnDelimiter": "\t"
            },
            "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"
                    }
                }
            ]
        },
        "availability": {
            "frequency": "Hour",
            "interval": 1
        }
    }
}

Pipeline con attività di copiaPipeline with Copy activity

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 FileSystemSource e il tipo di sink è impostato su BlobSink.In the pipeline JSON definition, the source type is set to FileSystemSource and sink type is set to BlobSink.

{
    "name": "pipeline",
    "properties": {
        "activities": [{
            "name": "SFTPToBlobCopy",
            "inputs": [{
                "name": "SFTPFileInput"
            }],
            "outputs": [{
                "name": "AzureBlobOutput"
            }],
            "type": "Copy",
            "typeProperties": {
                "source": {
                    "type": "FileSystemSource"
                },
                "sink": {
                    "type": "BlobSink"
                }
            },
            "scheduler": {
                "frequency": "Hour",
                "interval": 1
            },
            "policy": {
                "concurrency": 1,
                "executionPriorityOrder": "NewestFirst",
                "retry": 1,
                "timeout": "00:05:00"
            }
        }],
        "start": "2017-02-20T18:00:00Z",
        "end": "2017-02-20T19:00:00Z"
    }
}

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.

Passaggi successiviNext Steps

Vedere gli articoli seguenti:See the following articles: