Déplacer des données à partir d’un serveur FTP à l’aide d’Azure Data FactoryMove data from an FTP server by using Azure Data Factory

Notes

Cet article s’applique à la version 1 de Data Factory.This article applies to version 1 of Data Factory. Si vous utilisez la version actuelle du service Data Factory, consultez Connecteur FTP dans V2.If you are using the current version of the Data Factory service, see FTP connector in V2.

Cet article explique comment utiliser l’activité de copie dans Azure Data Factory pour déplacer des données à partir d’un serveur FTP.This article explains how to use the copy activity in Azure Data Factory to move data from an FTP server. Il s’appuie sur l’article relatif aux activités de déplacement des données, qui présente une vue d’ensemble du déplacement des données avec l’activité de copie.It builds on the Data movement activities article, which presents a general overview of data movement with the copy activity.

Vous pouvez copier les données d’un serveur FTP dans tout magasin de données récepteur pris en charge.You can copy data from an FTP server to any supported sink data store. Pour obtenir la liste des magasins de données pris en charge en tant que récepteurs par l’activité de copie, voir le tableau Magasins de données pris en charge.For a list of data stores supported as sinks by the copy activity, see the supported data stores table. Actuellement, Data Factory prend uniquement en charge le déplacement de données d’un serveur FTP vers d’autres magasins de données, mais pas l’inverse.Data Factory currently supports only moving data from an FTP server to other data stores, but not moving data from other data stores to an FTP server. Il prend en charge à la fois les serveurs FTP locaux et cloud.It supports both on-premises and cloud FTP servers.

Notes

L’activité de copie ne supprime pas le fichier source une fois celui-ci copié vers la destination.The copy activity does not delete the source file after it is successfully copied to the destination. Si vous devez supprimer le fichier source après copie, créez une activité personnalisée pour supprimer le fichier et utilisez l’activité dans le 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.

Activez la connectivité.Enable connectivity

Si vous déplacez des données d’un serveur FTP local vers un magasin de données cloud (par exemple, Stockage Blob Azure), installez et utilisez la passerelle de gestion des données.If you are moving data from an on-premises FTP server to a cloud data store (for example, to Azure Blob storage), install and use Data Management Gateway. La passerelle de gestion des données est un agent client qui est installé sur votre ordinateur local et permet aux services cloud de se connecter à une ressource locale.The Data Management Gateway is a client agent that is installed on your on-premises machine, and it allows cloud services to connect to an on-premises resource. Pour plus de détails, voir Passerelle de gestion des données.For details, see Data Management Gateway. Pour obtenir des instructions détaillées sur la configuration de la passerelle et son utilisation, voir Déplacement de données entre des emplacements locaux et le cloud.For step-by-step instructions on setting up the gateway and using it, see Moving data between on-premises locations and cloud. Vous utilisez la passerelle pour vous connecter à un serveur FTP, même si le serveur est sur une machine virtuelle IaaS Azure.You use the gateway to connect to an FTP server, even if the server is on an Azure infrastructure as a service (IaaS) virtual machine (VM).

Vous pouvez installer la passerelle sur le même ordinateur local ou sur la machine virtuelle IaaS Azure que le serveur FTP.It is possible to install the gateway on the same on-premises machine or IaaS VM as the FTP server. Toutefois, nous vous recommandons d’installer la passerelle sur un ordinateur/une machine virtuelle IaaS distincts afin d’éviter les conflits de ressources, ainsi que pour obtenir de meilleures performances.However, we recommend that you install the gateway on a separate machine or IaaS VM to avoid resource contention, and for better performance. Lorsque vous installez la passerelle sur un ordinateur distinct, l’ordinateur doit être en mesure au serveur FTP.When you install the gateway on a separate machine, the machine should be able to access the FTP server.

Prise en mainGet started

Vous pouvez créer un pipeline avec une activité de copie qui déplace les données d’une source FTP à l’aide de différents outils ou API.You can create a pipeline with a copy activity that moves data from an FTP source by using different tools or APIs.

Le moyen le plus simple de créer un pipeline consiste à utiliser l’Assistant Copie de Data Factory.The easiest way to create a pipeline is to use the Data Factory Copy Wizard. Consultez le tutoriel : Créer un pipeline avec l’activité de copie à l’aide de l’Assistant Data Factory Copy pour obtenir une procédure pas à pas rapide.See Tutorial: Create a pipeline using Copy Wizard for a quick walkthrough.

Vous pouvez également utiliser les outils suivants pour créer un pipeline : Visual Studio, PowerShell, modèle Azure Resource Manager, .NET API et REST API.You can also use the following tools to create a pipeline: Visual Studio, PowerShell, Azure Resource Manager template, .NET API, and REST API. Pour obtenir des instructions détaillées sur la création d’un pipeline avec une activité de copie, consultez le didacticiel sur l’activité de copie.See Copy activity tutorial for step-by-step instructions to create a pipeline with a copy activity.

Que vous utilisiez des outils ou des API, la création d’un pipeline qui déplace les données d’un magasin de données source vers un magasin de données récepteur implique les étapes suivantes :Whether you use the tools or APIs, perform the following steps to create a pipeline that moves data from a source data store to a sink data store:

  1. Création de services liés pour lier les magasins de données d’entrée et de sortie à votre fabrique de données.Create linked services to link input and output data stores to your data factory.
  2. Création de jeux de données pour représenter les données d’entrée et de sortie de l’opération de copie.Create datasets to represent input and output data for the copy operation.
  3. Création d’un pipeline avec une activité de copie qui utilise un jeu de données en tant qu’entrée et un jeu de données en tant que sortie.Create a pipeline with a copy activity that takes a dataset as an input and a dataset as an output.

Lorsque vous utilisez l’Assistant, les définitions JSON de ces entités Data Factory (services liés, jeux de données et pipeline) sont automatiquement créées pour vous.When you use the wizard, JSON definitions for these Data Factory entities (linked services, datasets, and the pipeline) are automatically created for you. Lorsque vous utilisez les outils ou API (à l’exception de l’API .NET), vous devez définir ces entités Data Factory à l’aide du format JSON.When you use tools or APIs (except .NET API), you define these Data Factory entities by using the JSON format. Pour un exemple contenant des définitions JSON pour les entités Data Factory servant à copier des données à partir d’un magasin de données FTP, consultez la section Exemple JSON : copier des données d’un serveur FTP vers Stockage Blob Azure de cet article.For a sample with JSON definitions for Data Factory entities that are used to copy data from an FTP data store, see the JSON example: Copy data from FTP server to Azure blob section of this article.

Notes

Pour plus d’informations sur les formats de fichier et de compression pris en charge à utiliser, voir Formats de fichier et de compression pris en charge dans Azure Data Factory.For details about supported file and compression formats to use, see File and compression formats in Azure Data Factory.

Les sections suivantes fournissent des informations sur les propriétés JSON utilisées pour définir des entités Data Factory spécifiques pour FTP :The following sections provide details about JSON properties that are used to define Data Factory entities specific to FTP.

Propriétés du service liéLinked service properties

Le tableau suivant décrit les éléments JSON spécifiques pour un service FTP lié.The following table describes JSON elements specific to an FTP linked service.

PropriétéProperty DescriptionDescription ObligatoireRequired DefaultDefault
Typetype Définissez ceci sur FtpServer.Set this to FtpServer. OUIYes  
hosthost Spécifiez le nom ou l’adresse IP du serveur FTP.Specify the name or IP address of the FTP server. OUIYes  
authenticationTypeauthenticationType Spécifiez le type d’authentification.Specify the authentication type. OUIYes Basic, anonymeBasic, Anonymous
userNameusername Spécifiez l’utilisateur ayant accès au serveur FTP.Specify the user who has access to the FTP server. NonNo  
passwordpassword Spécifiez le mot de passe de l’utilisateur (username).Specify the password for the user (username). NonNo  
encryptedCredentialencryptedCredential Spécifiez les informations d’identification chiffrées pour accéder au serveur FTP.Specify the encrypted credential to access the FTP server. NonNo  
gatewayNamegatewayName Spécifiez le nom de la passerelle dans Passerelle de gestion des données pour la connexion à un serveur FTP localSpecify the name of the gateway in Data Management Gateway to connect to an on-premises FTP server. NonNo  
portport Spécifiez le port sur lequel le serveur FTP écoute.Specify the port on which the FTP server is listening. NonNo 2121
enableSslenableSsl Indiquez si vous souhaitez utiliser FTP sur un canal SSL/TLS.Specify whether to use FTP over an SSL/TLS channel. NonNo truetrue
enableServerCertificateValidationenableServerCertificateValidation Indiquez si vous souhaitez activer la validation des certificats SSL lors de l’utilisation de FTP sur un canal SSL/TLS.Specify whether to enable server SSL certificate validation when you are using FTP over SSL/TLS channel. NonNo truetrue

Notes

Le connecteur FTP prend en charge l’accès au serveur FTP avec aucun chiffrement ou le chiffrement SSL/TLS explicite ; Il ne prend pas en charge le chiffrement SSL/TLS implicite.The FTP connector supports accessing FTP server with either no encryption or explicit SSL/TLS encryption; it doesn’t support implicit SSL/TLS encryption.

Utiliser une authentification anonymeUse Anonymous authentication

{
    "name": "FTPLinkedService",
    "properties": {
        "type": "FtpServer",
        "typeProperties": {
            "authenticationType": "Anonymous",
              "host": "myftpserver.com"
        }
    }
}

Utiliser un nom d’utilisateur et d’un mot de passe en texte brut pour l’authentification de baseUse username and password in plain text for basic authentication

{
    "name": "FTPLinkedService",
    "properties": {
    "type": "FtpServer",
        "typeProperties": {
            "host": "myftpserver.com",
            "authenticationType": "Basic",
            "username": "Admin",
            "password": "123456"
        }
    }
}

Utiliser un port, enableSsl, enableServerCertificateValidationUse port, enableSsl, enableServerCertificateValidation

{
    "name": "FTPLinkedService",
    "properties": {
        "type": "FtpServer",
        "typeProperties": {
            "host": "myftpserver.com",
            "authenticationType": "Basic",
            "username": "Admin",
            "password": "123456",
            "port": "21",
            "enableSsl": true,
            "enableServerCertificateValidation": true
        }
    }
}

Utiliser encryptedCredential pour l’authentification et la passerelleUse encryptedCredential for authentication and gateway

{
    "name": "FTPLinkedService",
    "properties": {
        "type": "FtpServer",
        "typeProperties": {
            "host": "myftpserver.com",
            "authenticationType": "Basic",
            "encryptedCredential": "xxxxxxxxxxxxxxxxx",
            "gatewayName": "mygateway"
        }
    }
}

Propriétés du jeu de donnéesDataset properties

Pour obtenir la liste complète des sections et propriétés disponibles pour la définition de jeux de données, voir Création de jeux de données.For a full list of sections and properties available for defining datasets, see Creating datasets. Les sections comme la structure, la disponibilité et la stratégie d'un jeu de données JSON sont similaires pour tous les types de jeux de données.Sections such as structure, availability, and policy of a dataset JSON are similar for all dataset types.

La section typeProperties est différente pour chaque type de jeu de données.The typeProperties section is different for each type of dataset. Elle fournit des informations spécifiques au type de jeu de données.It provides information that is specific to the dataset type. La section typeProperties pour un jeu de données de type FileShare a les propriétés suivantes :The typeProperties section for a dataset of type FileShare has the following properties:

PropriétéProperty DescriptionDescription ObligatoireRequired
folderPathfolderPath Sous-chemin d’accès au dossier.Subpath to the folder. Utilisez le caractère d’échappement « \ » pour les caractères spéciaux contenus dans la chaîne.Use escape character ‘ \ ’ for special characters in the string. Consultez la section Exemples de définitions de jeux de données et de service liés pour obtenir des exemples.See Sample linked service and dataset definitions for examples.

Vous pouvez également combiner cette propriété avec partitionBy pour que les chemins d’accès soient basés sur les dates et heures de début et de fin de la tranche.You can combine this property with partitionBy to have folder paths based on slice start and end date-times.
OUIYes
fileNamefileName Spécifiez le nom du fichier dans l’élément folderPath si vous souhaitez que la table se réfère à un fichier spécifique du dossier.Specify the name of the file in the folderPath if you want the table to refer to a specific file in the folder. Si vous ne spécifiez aucune valeur pour cette propriété, le tableau pointe vers tous les fichiers du dossier.If you do not specify any value for this property, the table points to all files in the folder.

Lorsque fileName n’est pas spécifié pour un jeu de données de sortie, le nom du fichier généré est au format suivant :When fileName is not specified for an output dataset, the name of the generated file is in the following format:

Data.<Guid>.txt (Exemple : Data.0a405f8a-93ff-4c6f-b3be-f69616f1df7a.txt)Data.<Guid>.txt (Example: Data.0a405f8a-93ff-4c6f-b3be-f69616f1df7a.txt)
NonNo
fileFilterfileFilter Spécifiez un filtre à utiliser pour sélectionner un sous-ensemble de fichiers dans le folderPath plutôt que tous les fichiers.Specify a filter to be used to select a subset of files in the folderPath, rather than all files.

Les valeurs autorisées sont : * (plusieurs caractères) et ? (caractère unique).Allowed values are: * (multiple characters) and ? (single character).

Exemple 1 : "fileFilter": "*.log"Example 1: "fileFilter": "*.log"
Exemple 2 : "fileFilter": 2014-1-?.txt"Example 2: "fileFilter": 2014-1-?.txt"

fileFilter s’applique à un jeu de données FileShare d’entrée.fileFilter is applicable for an input FileShare dataset. Cette propriété n’est pas pris en charge avec le Système de fichiers DFS Hadoop (HDFS).This property is not supported with Hadoop Distributed File System (HDFS).
NonNo
partitionedBypartitionedBy Utilisé pour spécifier un folderPath et un fileName dynamiques pour des données de série chronologique.Used to specify a dynamic folderPath and fileName for time series data. Par exemple, vous pouvez spécifier un folderPath paramétré pour chaque heure de données.For example, you can specify a folderPath that is parameterized for every hour of data. NonNo
formatformat Les types de formats suivants sont pris en charge : TextFormat, JsonFormat, AvroFormat, OrcFormat et ParquetFormat.The following format types are supported: TextFormat, JsonFormat, AvroFormat, OrcFormat, ParquetFormat. Définissez la propriété type située sous Format sur l’une de ces valeurs.Set the type property under format to one of these values. Pour en savoir plus, vois les sections Format Text, Format Json, Format Avro, Format Orc et Format Parquet.For more information, see the Text Format, Json Format, Avro Format, Orc Format, and Parquet Format sections.

Si vous souhaitez copier des fichiers en l’état entre des magasins de fichiers (copie binaire), ignorez la section Format dans les définitions de jeu de données d’entrée et de sortie.If you want to copy files as they are between file-based stores (binary copy), skip the format section in both input and output dataset definitions.
NonNo
compressioncompression Spécifiez le type et le niveau de compression pour les données.Specify the type and level of compression for the data. Les types pris en charge sont GZip, Deflate, BZip2 et ZipDeflate. Les niveaux pris en charge sont Optimal et Fastest.Supported types are GZip, Deflate, BZip2, and ZipDeflate, and supported levels are Optimal and Fastest. Pour plus d’informations, consultez Formats de fichiers et de compression pris en charge dans Azure Data Factory.For more information, see File and compression formats in Azure Data Factory. NonNo
useBinaryTransferuseBinaryTransfer Spécifiez s’il faut utiliser le mode de transfert binaire.Specify whether to use the binary transfer mode. Les valeurs sont true pour le mode binaire (c’est la valeur par défaut) et false pour ASCII.The values are true for binary mode (this is the default value), and false for ASCII. Cette propriété peut être utilisée uniquement quand le service lié associé est de type FtpServer.This property can only be used when the associated linked service type is of type: FtpServer. NonNo

Notes

fileName et fileFilter ne peuvent pas être utilisés simultanément.fileName and fileFilter cannot be used simultaneously.

Utiliser la propriété partitionedByUse the partionedBy property

Comme mentionné dans la section précédente, vous pouvez spécifier un folderPath et un fileName dynamiques pour les données de série chronologique avec la propriété partitionedBy.As mentioned in the previous section, you can specify a dynamic folderPath and fileName for time series data with the partitionedBy property.

Pour découvrir les jeux de données de série chronologique, la planification et les segments, voir Création de jeux de données, Planification et exécution et Création de pipelines.To learn about time series datasets, scheduling, and slices, see Creating datasets, Scheduling and execution, and Creating pipelines.

Exemple 1Sample 1

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

Dans cet exemple, {Slice} est remplacé par la valeur de la variable système Data Factory SliceStart au format spécifié (AAAAMMJJHH).In this example, {Slice} is replaced with the value of Data Factory system variable SliceStart, in the format specified (YYYYMMDDHH). SliceStart fait référence à l'heure de début du segment.The SliceStart refers to start time of the slice. Le chemine d’accès du dossier est différent pour chaque segmentThe folder path is different for each slice. (par exemple : wikidatagateway/wikisampledataout/2014100103 ou wikidatagateway/wikisampledataout/2014100104).(For example, wikidatagateway/wikisampledataout/2014100103 or wikidatagateway/wikisampledataout/2014100104.)

Exemple 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" } }
],

Dans cet exemple, l’année, le mois, le jour et l’heure de SliceStart sont extraits dans des variables distinctes qui sont utilisées par les propriétés folderPath et fileName.In this example, the year, month, day, and time of SliceStart are extracted into separate variables that are used by the folderPath and fileName properties.

Propriétés de l’activité de copieCopy activity properties

Pour obtenir la liste complète des sections et propriétés disponibles pour la définition des activités, voir Création de pipelines.For a full list of sections and properties available for defining activities, see Creating pipelines. Les propriétés comme le nom, la description, les tables d'entrée et de sortie et les différentes stratégies sont disponibles pour tous les types d'activités.Properties such as name, description, input and output tables, and policies are available for all types of activities.

En revanche, les propriétés disponibles dans la section typeProperties de l’activité varient pour chaque type d’activité.Properties available in the typeProperties section of the activity, on the other hand, vary with each activity type. Pour l’activité de copie, les propriétés de type dépendent des types de sources et de récepteurs.For the copy activity, the type properties vary depending on the types of sources and sinks.

Dans une activité de copie, quand la source est de type FileSystemSource, les propriétés suivantes sont disponibles dans la section typeProperties :In copy activity, when the source is of type FileSystemSource, the following property is available in typeProperties section:

PropriétéProperty DescriptionDescription Valeurs autoriséesAllowed values ObligatoireRequired
recursiverecursive Indique si les données sont lues de manière récursive à partir des sous-dossiers ou uniquement du dossier spécifié.Indicates whether the data is read recursively from the subfolders, or only from the specified folder. True, False (par défaut)True, False (default) NonNo

Exemple JSON : copier des données d’un serveur FTP vers Stockage Blob AzureJSON example: Copy data from FTP server to Azure Blob

Cet exemple montre comment copier des données à partir d’un serveur FTP vers un stockage Blob Azure.This sample shows how to copy data from an FTP server to Azure Blob storage. Toutefois, il est possible de copier des données directement vers tout récepteur indiqué dans magasins et formats de données pris en charge à l’aide de l’activité de copie dans Data Factory.However, data can be copied directly to any of the sinks stated in the supported data stores and formats, by using the copy activity in Data Factory.

Les exemples suivants présentent des exemples de définitions de JSON que vous pouvez utiliser pour créer un pipeline à l’aide de Visual Studio ou d’Azure PowerShell :The following examples provide sample JSON definitions that you can use to create a pipeline by using Visual Studio, or PowerShell:

L’exemple copie des données d’un serveur FTP vers un objet blob Azure toutes les heures.The sample copies data from an FTP server to an Azure blob every hour. Les propriétés JSON utilisées dans ces exemples sont décrites dans les sections suivant les exemples.The JSON properties used in these samples are described in sections following the samples.

Service lié FTPFTP linked service

Cet exemple utilise une authentification de base avec le nom d’utilisateur et le mot de passe en texte brut.This example uses basic authentication, with the user name and password in plain text. Vous pouvez également utiliser une des méthodes suivantes :You can also use one of the following ways:

  • Authentification anonymeAnonymous authentication
  • Authentification de base avec des informations d’identification chiffréesBasic authentication with encrypted credentials
  • FTP sur SSL/TLS (FTPS)FTP over SSL/TLS (FTPS)

Pour connaître les différents types d’authentification que vous pouvez utiliser, voir Service lié FTP.See the FTP linked service section for different types of authentication you can use.

{
    "name": "FTPLinkedService",
    "properties": {
        "type": "FtpServer",
        "typeProperties": {
            "host": "myftpserver.com",
            "authenticationType": "Basic",
            "username": "Admin",
            "password": "123456"
        }
    }
}

Service lié Stockage AzureAzure Storage linked service

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

Jeu de données d’entrée FTPFTP input dataset

Ce jeu de données fait référence au dossier SFTP mysharedfolder et au fichier test.csv.This dataset refers to the FTP folder mysharedfolder and file test.csv. Le pipeline copie le fichier vers la destination.The pipeline copies the file to the destination.

La définition de external sur true informe le service Data Factory qu’il s’agit d’un jeu de données qui est externe à la fabrique de données et non produit par une activité dans celle-ci.Setting external to 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": "FTPFileInput",
  "properties": {
    "type": "FileShare",
    "linkedServiceName": "FTPLinkedService",
    "typeProperties": {
      "folderPath": "mysharedfolder",
      "fileName": "test.csv",
      "useBinaryTransfer": true
    },
    "external": true,
    "availability": {
      "frequency": "Hour",
      "interval": 1
    }
  }
}

Jeu de données de sortie d’objet Blob AzureAzure Blob output dataset

Les données sont écrites dans un nouvel objet blob toutes les heures (fréquence : heure, intervalle : 1).Data is written to a new blob every hour (frequency: hour, interval: 1). Le chemin d’accès du dossier pour l’objet blob est évalué dynamiquement en fonction de l’heure de début du segment en cours de traitement.The folder path for the blob is dynamically evaluated, based on the start time of the slice that is being processed. Le chemin d’accès du dossier utilise l’année, le mois, le jour et la partie heure de l’heure de début.The folder path uses the year, month, day, and hours parts of the start time.

{
    "name": "AzureBlobOutput",
    "properties": {
        "type": "AzureBlob",
        "linkedServiceName": "AzureStorageLinkedService",
        "typeProperties": {
            "folderPath": "mycontainer/ftp/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
        }
    }
}

Activité de copie dans un pipeline avec une source Système de fichiers et un récepteur blobA copy activity in a pipeline with file system source and blob sink

Le pipeline contient une activité de copie qui est configurée pour utiliser les jeux de données d’entrée et de sortie, et qui est planifiée pour s’exécuter toutes les heures.The pipeline contains a copy activity that is configured to use the input and output datasets, and is scheduled to run every hour. Dans la définition JSON du pipeline, le type source est défini sur FileSystemSource et le type sink sur BlobSink.In the pipeline JSON definition, the source type is set to FileSystemSource, and the sink type is set to BlobSink.

{
    "name": "pipeline",
    "properties": {
        "activities": [{
            "name": "FTPToBlobCopy",
            "inputs": [{
                "name": "FtpFileInput"
            }],
            "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": "2016-08-24T18:00:00Z",
        "end": "2016-08-24T19:00:00Z"
    }
}

Notes

Pour savoir comment mapper des colonnes d’un jeu de données source sur des colonnes d’un jeu de données récepteur, consultez Mappage de colonnes des jeux de données dans Azure Data Factory.To map columns from source dataset to columns from sink dataset, see Mapping dataset columns in Azure Data Factory.

Étapes suivantesNext steps

Consultez les articles suivants :See the following articles: