Déplacer des données à l’aide de l’activité de copieMove data by using Copy Activity

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 Activité de copie dans V2.If you are using the current version of the Data Factory service, see Copy Activity in V2.

Vue d'ensembleOverview

Dans Azure Data Factory, vous pouvez utiliser l’activité de copie pour copier des données entre des magasins de données locaux et cloud.In Azure Data Factory, you can use Copy Activity to copy data between on-premises and cloud data stores. Une fois les données copiées, elles peuvent être transformées et analysées plus avant.After the data is copied, it can be further transformed and analyzed. Vous pouvez également utiliser l’activité de copie pour publier les résultats de transformation et d’analyse pour l’aide à la décision (BI) et l’utilisation d’application.You can also use Copy Activity to publish transformation and analysis results for business intelligence (BI) and application consumption.

Rôle d’activité de copie

L’activité de copie est effectuée par un service globalement disponiblesécurisé, fiable et évolutif.Copy Activity is powered by a secure, reliable, scalable, and globally available service. Cet article fournit des détails sur le déplacement des données dans Data Factory et dans l’activité de copie.This article provides details on data movement in Data Factory and Copy Activity.

Voyons d’abord comment la migration de données se produit entre deux banques de données cloud, et entre une banque de données locale et une banque de données cloud.First, let's see how data migration occurs between two cloud data stores, and between an on-premises data store and a cloud data store.

Notes

Pour en savoir plus sur les activités en général, consultez Présentation des pipelines et des activités.To learn about activities in general, see Understanding pipelines and activities.

Copie de données entre deux magasins de données cloudCopy data between two cloud data stores

Lorsque les magasins de données source et récepteur se trouvent dans le cloud, l'activité de copie passe par les étapes suivantes pour copier des données de la source vers le récepteur.When both source and sink data stores are in the cloud, Copy Activity goes through the following stages to copy data from the source to the sink. Le service qui alimente l’activité de copie :The service that powers Copy Activity:

  1. Lit les données du magasin de données source.Reads data from the source data store.
  2. Effectue la sérialisation/désérialisation, la compression/décompression, le mappage de colonnes et la conversion de type sont effectués par la passerelle de gestion des données.Performs serialization/deserialization, compression/decompression, column mapping, and type conversion. Il effectue ces opérations en se basant sur les configurations du jeu de données d’entrée, du jeu de données de sortie et de l’activité de copie.It does these operations based on the configurations of the input dataset, output dataset, and Copy Activity.
  3. Écrit les données dans le magasin de données de destination.Writes data to the destination data store.

Le service choisit automatiquement la région optimale pour effectuer le déplacement des données.The service automatically chooses the optimal region to perform the data movement. Cette région est généralement la plus proche de la banque de données du récepteur.This region is usually the one closest to the sink data store.

Copie cloud-cloud

Copie de données entre un magasin de données local et un magasin de données cloudCopy data between an on-premises data store and a cloud data store

Pour déplacer en toute sécurité des données entre des banques de données locales et une banque de données cloud, installez la passerelle de gestion des données sur votre ordinateur local.To securely move data between an on-premises data store and a cloud data store, install Data Management Gateway on your on-premises machine. La passerelle de gestion des données est un agent qui permet le traitement et le déplacement de données hybrides.Data Management Gateway is an agent that enables hybrid data movement and processing. Vous pouvez l’installer sur la même machine que le magasin de données lui-même ou sur une machine distincte ayant accès au magasin de données.You can install it on the same machine as the data store itself, or on a separate machine that has access to the data store.

Dans ce scénario, la passerelle de gestion des données effectue la sérialisation/désérialisation, la compression/décompression, le mappage de colonnes et la conversion de type sont effectués par la passerelle de gestion des données.In this scenario, Data Management Gateway performs the serialization/deserialization, compression/decompression, column mapping, and type conversion. Les données ne transitent pas via le service Azure Data Factory.Data does not flow through the Azure Data Factory service. Au lieu de cela, la passerelle de gestion des données les écrit directement dans le magasin de destination.Instead, Data Management Gateway directly writes the data to the destination store.

Copie de type local vers cloud

Consultez la page Déplacement de données entre des sources locales et le cloud à l’aide de la passerelle de gestion des données pour une introduction et une procédure pas à pas.See Move data between on-premises and cloud data stores for an introduction and walkthrough. Pour obtenir des informations détaillées sur cet agent, consultez Passerelle de gestion de données .See Data Management Gateway for detailed information about this agent.

Vous pouvez également déplacer des données depuis/vers des magasins de données pris en charge hébergés sur des machines virtuelles IaaS Azure avec la passerelle de gestion des données.You can also move data from/to supported data stores that are hosted on Azure IaaS virtual machines (VMs) by using Data Management Gateway. Dans ce cas, vous pouvez installer la passerelle de gestion des données sur la même machine virtuelle Azure que le magasin de données lui-même ou sur une machine virtuelle distincte ayant accès au magasin de données.In this case, you can install Data Management Gateway on the same VM as the data store itself, or on a separate VM that has access to the data store.

Banques de données et formats pris en chargeSupported data stores and formats

L’activité de copie dans Data Factory permet de copier les données d’un magasin de données source vers un magasin de données récepteur.Copy Activity in Data Factory copies data from a source data store to a sink data store. Data Factory prend en charge les magasins de données suivants.Data Factory supports the following data stores. Les données de n’importe quelle source peuvent être écrites dans n’importe quel récepteur.Data from any source can be written to any sink. Cliquez sur une banque de données pour découvrir comment copier des données depuis/vers cette banque.Click a data store to learn how to copy data to and from that store.

Notes

Si vous devez déplacer des données vers ou à partir d’un magasin de données qui n’est pas pris en charge par l’activité de copie, utilisez une activité personnalisée dans Data Factory avec votre propre logique de copie/déplacement des données.If you need to move data to/from a data store that Copy Activity doesn't support, use a custom activity in Data Factory with your own logic for copying/moving data. Pour plus d’informations sur la création et l’utilisation d’une activité personnalisée, consultez Utilisation des activités personnalisées dans un pipeline Azure Data Factory.For details on creating and using a custom activity, see Use custom activities in an Azure Data Factory pipeline.

CatégorieCategory Banque de donnéesData store Prise en charge en tant que sourceSupported as a source Prise en charge en tant que récepteurSupported as a sink
Microsoft AzureAzure stockage d’objets blob AzureAzure Blob storage
  Azure Cosmos DB (API SQL)Azure Cosmos DB (SQL API)
  Azure Data Lake Storage Gen1Azure Data Lake Storage Gen1
  Azure SQL DatabaseAzure SQL Database
  Azure SQL Data WarehouseAzure SQL Data Warehouse
  Index Recherche AzureAzure Search Index
  Stockage Table AzureAzure Table storage
Bases de donnéesDatabases Amazon RedshiftAmazon Redshift
  DB2*DB2*
  MySQL*MySQL*
  Oracle*Oracle*
  PostgreSQL*PostgreSQL*
  SAP Business Warehouse*SAP Business Warehouse*
  SAP HANA*SAP HANA*
  SQL Server*SQL Server*
  Sybase*Sybase*
  Teradata*Teradata*
NoSQLNoSQL Cassandra*Cassandra*
  MongoDB*MongoDB*
FileFile Amazon S3Amazon S3
  Système de fichiers*File System*
  FTPFTP
  HDFS*HDFS*
  SFTPSFTP
AutresOthers HTTP génériqueGeneric HTTP
  OData génériqueGeneric OData
  ODBC générique*Generic ODBC*
  SalesforceSalesforce
  Table web (table HTML)Web Table (table from HTML)

Notes

Les banques de données signalées par un astérisque (*) peuvent être locales ou résider sur une instance Azure IaaS. Elles nécessitent que vous installiez une passerelle de gestion des données sur un ordinateur local ou Azure IaaS.Data stores with * can be on-premises or on Azure IaaS, and require you to install Data Management Gateway on an on-premises/Azure IaaS machine.

Formats de fichiers pris en chargeSupported file formats

Si vous voulez utiliser une activité de copie pour copier des fichiers en l’état entre deux magasins de données basés sur des fichiers, vous pouvez ignorer la section format dans l’entrée et dans la sortie des définitions de dataset.You can use Copy Activity to copy files as-is between two file-based data stores, you can skip the format section in both the input and output dataset definitions. Les données sont copiées efficacement, sans sérialisation/désérialisation.The data is copied efficiently without any serialization/deserialization.

L’activité de copie permet également de lire et d’écrire dans les fichiers aux formats spécifiés : Les formats texte, JSON, Avro, ORC et Parquet, ainsi que les codecs de compression GZip, Deflate, BZip2 et ZipDeflate sont pris en charge.Copy Activity also reads from and writes to files in specified formats: Text, JSON, Avro, ORC, and Parquet, and compression codec GZip, Deflate, BZip2, and ZipDeflate are supported. Pour plus d’informations, consultez Formats de fichier et de compression pris en charge.See Supported file and compression formats with details.

Par exemple, vous pouvez effectuer les activités de copie suivantes :For example, you can do the following copy activities:

  • Copier les données dans le SQL Server local et les écrire dans Azure Data Lake Store au format ORC.Copy data in on-premises SQL Server and write to Azure Data Lake Store in ORC format.
  • Copier des fichiers au format texte (CSV) provenant d’un système de fichiers local et les écrire dans des objets blob Azure au format Avro.Copy files in text (CSV) format from on-premises File System and write to Azure Blob in Avro format.
  • Copier les fichiers compressés depuis le système de fichiers local, les décompresser, puis accéder à Azure Data Lake Store.Copy zipped files from on-premises File System and decompress then land to Azure Data Lake Store.
  • Copier des données au format texte compressé GZip (CSV) provenant d’objets blob Azure et les écrire dans une base de données Azure SQL.Copy data in GZip compressed text (CSV) format from Azure Blob and write to Azure SQL Database.

Déplacement des données disponible globalementGlobally available data movement

Azure Data Factory est disponible uniquement dans les régions Europe Nord, USA Est et USA Ouest.Azure Data Factory is available only in the West US, East US, and North Europe regions. Cependant, le service proposant l’activité de copie est disponible globalement dans les régions et zones géographiques suivantes.However, the service that powers Copy Activity is available globally in the following regions and geographies. La topologie globalement disponible garantit le déplacement efficace des données en évitant généralement les sauts entre régions.The globally available topology ensures efficient data movement that usually avoids cross-region hops. Consultez la section Services par région pour connaître la disponibilité de Data Factory et du déplacement des données dans une région.See Services by region for availability of Data Factory and Data Movement in a region.

Copier des données entre des banques de données cloudCopy data between cloud data stores

Lorsque les banques de données source et récepteur résident toutes les deux dans le cloud, Data Factory utilise un déploiement de service dans la région la plus proche du récepteur dans la même zone géographique afin de déplacer des données.When both source and sink data stores are in the cloud, Data Factory uses a service deployment in the region that is closest to the sink in the same geography to move the data. Pour connaître le mappage, reportez-vous au tableau suivant :Refer to the following table for mapping:

Géographie des magasins de données de destinationGeography of the destination data stores Région de la banque de données de destinationRegion of the destination data store Région utilisée pour le déplacement des donnéesRegion used for data movement
États-UnisUnited States USA EstEast US USA EstEast US
  USA Est 2East US 2 USA Est 2East US 2
  USA CentreCentral US USA CentreCentral US
  USA Centre NordNorth Central US USA Centre NordNorth Central US
  USA Centre SudSouth Central US USA Centre SudSouth Central US
  USA Centre-OuestWest Central US USA Centre-OuestWest Central US
  USA OuestWest US USA OuestWest US
  USA Ouest 2West US 2 USA Ouest 2West US 2
CanadaCanada Est du CanadaCanada East Centre du CanadaCanada Central
  Centre du CanadaCanada Central Centre du CanadaCanada Central
BrésilBrazil Brésil SudBrazil South Brésil SudBrazil South
EuropeEurope Europe NordNorth Europe Europe NordNorth Europe
  Europe OuestWest Europe Europe OuestWest Europe
Royaume-UniUnited Kingdom Ouest du Royaume-UniUK West Sud du Royaume-UniUK South
  Sud du Royaume-UniUK South Sud du Royaume-UniUK South
Asie-PacifiqueAsia Pacific Asie Sud-EstSoutheast Asia Asie Sud-EstSoutheast Asia
  Asie EstEast Asia Asie du Sud-EstSoutheast Asia
AustralieAustralia Australie EstAustralia East Australie EstAustralia East
  Australie Sud-EstAustralia Southeast Australie Sud-EstAustralia Southeast
IndeIndia Inde CentreCentral India Inde CentreCentral India
  Inde OuestWest India Inde CentreCentral India
  Inde SudSouth India Inde CentreCentral India
JaponJapan Japon EstJapan East Japon EstJapan East
  Japon OuestJapan West Japon EstJapan East
Corée du SudKorea Centre de la CoréeKorea Central Centre de la CoréeKorea Central
  Corée du SudKorea South Centre de la CoréeKorea Central

Vous pouvez également indiquer explicitement la région du service Data Factory à utiliser pour effectuer la copie en spécifiant la propriété executionLocation sous l’activité de copie typeProperties.Alternatively, you can explicitly indicate the region of Data Factory service to be used to perform the copy by specifying executionLocation property under Copy Activity typeProperties. Les valeurs prises en charge pour cette propriété sont énumérées dans la colonne Région utilisée pour le déplacement des données ci-dessus.Supported values for this property are listed in above Region used for data movement column. Notez que, dans cette région, vos données transitent par le câble pendant la copie.Note your data goes through that region over the wire during copy. Par exemple, pour effectuer une copie entre des magasins Azure en Corée, vous pouvez spécifier pour "executionLocation": "Japan East" un routage via le Japon (voir exemple JSON comme référence).For example, to copy between Azure stores in Korea, you can specify "executionLocation": "Japan East" to route through Japan region (see sample JSON as reference).

Notes

Si la région de la banque de données de destination ne figure pas dans la liste précédente ou n’est pas détectable, par défaut, l’activité de copie échoue au lieu de passer par une autre région, sauf si executionLocation est spécifié.If the region of the destination data store is not in preceding list or undetectable, by default Copy Activity fails instead of going through an alternative region, unless executionLocation is specified. La liste des régions prises en charge sera développée au fil du temps.The supported region list will be expanded over time.

Copie de données entre un magasin de données local et un magasin de données cloudCopy data between an on-premises data store and a cloud data store

Lorsque les données sont copiées entre l’instance locale (ou une machine virtuelle Azure/IaaS) et l’instance cloud, le déplacement des données est effectué par la passerelle de gestion des données sur un ordinateur local ou une machine virtuelle IaaS Azure.When data is being copied between on-premises (or Azure virtual machines/IaaS) and cloud stores, Data Management Gateway performs data movement on an on-premises machine or virtual machine. Les données ne transitent pas via le service dans le cloud, sauf si vous utilisez la fonctionnalité Copie intermédiaire .The data does not flow through the service in the cloud, unless you use the staged copy capability. Dans ce cas, les données sont transmises via le stockage d’objets blob Azure intermédiaire avant d’être écrites dans la banque de données de récepteur.In this case, data flows through the staging Azure Blob storage before it is written into the sink data store.

Créer un pipeline avec une activité de copieCreate a pipeline with Copy Activity

Vous pouvez créer un pipeline avec une activité de copie de plusieurs façons :You can create a pipeline with Copy Activity in a couple of ways:

Avec l’assistant de copieBy using the Copy Wizard

L’Assistant Data Factory Copy vous aide à créer un pipeline avec l’activité de copie.The Data Factory Copy Wizard helps you to create a pipeline with Copy Activity. Le pipeline vous permet de créer un pipeline pour copier des données de sources prises en charge vers des destinations sans avoir à écrire de définitions JSON pour les services liés, les jeux de données et les pipelines.This pipeline allows you to copy data from supported sources to destinations without writing JSON definitions for linked services, datasets, and pipelines. Reportez-vous à l’Assistant Data Factory Copy pour connaître les détails de cet Assistant.See Data Factory Copy Wizard for details about the wizard.

Avec utilisation de scripts JSONBy using JSON scripts

Vous pouvez utiliser Data Factory Editor dans le portail Azure, Visual Studio ou Azure PowerShell pour créer une définition JSON pour un pipeline (en utilisant l’activité de copie).You can use Data Factory Editor in the Azure portal, Visual Studio, or Azure PowerShell to create a JSON definition for a pipeline (by using Copy Activity). Vous pouvez ensuite le déployer pour créer le pipeline dans Data Factory.Then, you can deploy it to create the pipeline in Data Factory. Consultez le tutoriel : Utiliser l’activité de copie dans un pipeline Azure Data Factory pour connaître les instructions des procédures pas à pas.See Tutorial: Use Copy Activity in an Azure Data Factory pipeline for a tutorial with step-by-step instructions.

Les propriétés JSON (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.JSON properties (such as name, description, input and output tables, and policies) are available for all types of activities. Les propriétés qui sont disponibles dans la section typeProperties de l’activité varient avec chaque type d’activité.Properties that are available in the typeProperties section of the activity vary with each activity type.

Pour une activité de copie, la section typeProperties varie selon les types de source et de récepteur.For Copy Activity, the typeProperties section varies depending on the types of sources and sinks. Cliquez sur une source/un récepteur dans la section sur les sources/récepteurs pris en charge pour en savoir plus sur les propriétés de type prises en charge par l’activité de copie de cette banque de données.Click a source/sink in the Supported sources and sinks section to learn about type properties that Copy Activity supports for that data store.

Voici un exemple de définition JSON :Here's a sample JSON definition:

{
  "name": "ADFTutorialPipeline",
  "properties": {
    "description": "Copy data from Azure blob to Azure SQL table",
    "activities": [
      {
        "name": "CopyFromBlobToSQL",
        "type": "Copy",
        "inputs": [
          {
            "name": "InputBlobTable"
          }
        ],
        "outputs": [
          {
            "name": "OutputSQLTable"
          }
        ],
        "typeProperties": {
          "source": {
            "type": "BlobSource"
          },
          "sink": {
            "type": "SqlSink"
          },
          "executionLocation": "Japan East"          
        },
        "Policy": {
          "concurrency": 1,
          "executionPriorityOrder": "NewestFirst",
          "retry": 0,
          "timeout": "01:00:00"
        }
      }
    ],
    "start": "2016-07-12T00:00:00Z",
    "end": "2016-07-13T00:00:00Z"
  }
}

La planification définie dans le jeu de données de sortie détermine quand l’activité s’exécute (par exemple quotidiennement : fréquence : jour et intervalle : 1).The schedule that is defined in the output dataset determines when the activity runs (for example: daily, frequency as day, and interval as 1). L’activité permet de copier les données d’un jeu de données d’entrée (source) vers un jeu de données de sortie (récepteur).The activity copies data from an input dataset (source) to an output dataset (sink).

Vous pouvez spécifier plus d’un jeu de données d’entrée pour l’activité de copie.You can specify more than one input dataset to Copy Activity. Ils sont utilisés pour vérifier les dépendances avant l’exécution de l’activité.They are used to verify the dependencies before the activity is run. Toutefois, seules les données du premier jeu de données sont copiées vers le jeu de données de destination.However, only the data from the first dataset is copied to the destination dataset. Pour plus d’informations, consultez Planification et exécution.For more information, see Scheduling and execution.

Performances et réglagePerformance and tuning

Consultez Guide des performances et de l’optimisation de l’activité de copie, qui décrit les facteurs clés affectant les performances du déplacement de données dans Azure Data Factory (activité de copie).See the Copy Activity performance and tuning guide, which describes key factors that affect the performance of data movement (Copy Activity) in Azure Data Factory. Il répertorie également les performances observées lors des tests internes, et présente les différentes manières d’optimiser les performances de l’activité de copie.It also lists the observed performance during internal testing and discusses various ways to optimize the performance of Copy Activity.

Tolérance de panneFault tolerance

Par défaut, l’activité de copie arrête de copier des données et signale un échec quand elle rencontre des données incompatibles entre la source et le récepteur. Vous pouvez configurer explicitement pour ignorer et consigner les lignes incompatibles, et ne copier que les données compatibles afin que la copie réussisse.By default, copy activity will stop copying data and return failure when encounter incompatible data between source and sink; while you can explicitly configure to skip and log the incompatible rows and only copy those compatible data to make the copy succeeded. Pour plus de détails, voir Tolérance de panne de l’activité de copie.See the Copy Activity fault tolerance on more details.

Considérations relatives à la sécuritéSecurity considerations

Lisez les considérations relatives à la sécurité qui décrivent l’infrastructure de sécurité de base que les services de migration des données d’Azure Data Factory utilisent pour sécuriser vos données.See the Security considerations, which describes security infrastructure that data movement services in Azure Data Factory use to secure your data.

Planification et copie séquentielleScheduling and sequential copy

Consultez Planification et exécution pour plus d’informations sur le fonctionnement de la planification et de l’exécution dans Data Factory.See Scheduling and execution for detailed information about how scheduling and execution works in Data Factory. Il est possible d’exécuter plusieurs opérations de copie l’une après l’autre, de manière séquentielle/ordonnée.It is possible to run multiple copy operations one after another in a sequential/ordered manner. Consultez la section Copier de manière séquentielle.See the Copy sequentially section.

Conversions des typesType conversions

Les magasins de données ont différents types de systèmes natifs.Different data stores have different native type systems. L’activité de copie convertit automatiquement des types source en types récepteur selon l’approche en 2 étapes suivante :Copy Activity performs automatic type conversions from source types to sink types with the following two-step approach:

  1. Conversion de types natifs source en types .NET.Convert from native source types to a .NET type.
  2. Conversion de types .NET en types récepteur natifs.Convert from a .NET type to a native sink type.

Le mappage d’un système de type natif donné en .NET pour une banque de données se trouve dans les articles de banque de données respectifs.The mapping from a native type system to a .NET type for a data store is in the respective data store article. (Cliquez sur le lien spécifié dans la table Magasins de données pris en charge).(Click the specific link in the Supported data stores table). Vous pouvez utiliser ces mappages pour déterminer les types appropriés lors de la création de vos tables afin d'exécuter les conversions adaptées lors de l'activité de copie.You can use these mappings to determine appropriate types while creating your tables, so that Copy Activity performs the right conversions.

Étapes suivantesNext steps