Didacticiel : Créer un pipeline avec l’activité de copie à l’aide de Visual StudioTutorial: Create a pipeline with Copy Activity using Visual Studio

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 le tutoriel sur l’activité de copie.If you are using the current version of the Data Factory service, see copy activity tutorial.

Dans cet article, vous allez apprendre à utiliser Microsoft Visual Studio pour créer une fabrique de données avec un pipeline qui copie les données d’un stockage Blob Azure dans une base de données Azure SQL.In this article, you learn how to use the Microsoft Visual Studio to create a data factory with a pipeline that copies data from an Azure blob storage to an Azure SQL database. Si vous débutez avec Azure Data Factory, lisez l’article Présentation d’Azure Data Factory avant de suivre ce didacticiel.If you are new to Azure Data Factory, read through the Introduction to Azure Data Factory article before doing this tutorial.

Dans ce tutoriel, vous créez un pipeline contenant une seule activité : activité de copie.In this tutorial, you create a pipeline with one activity in it: Copy Activity. L’activité de copie copie les données d’un magasin de données pris en charge vers un magasin de données de récepteur pris en charge.The copy activity copies data from a supported data store to a supported sink data store. Pour obtenir la liste des magasins de données pris en charge en tant que sources et récepteurs, consultez Magasins de données pris en charge.For a list of data stores supported as sources and sinks, see supported data stores. Elle est mise en œuvre par un service disponible dans le monde entier, capable de copier des données entre différents magasins de données de façon sécurisée, fiable et évolutive.The activity is powered by a globally available service that can copy data between various data stores in a secure, reliable, and scalable way. Pour plus d’informations sur l’activité de copie, consultez Activités de déplacement des données.For more information about the Copy Activity, see Data Movement Activities.

Un pipeline peut contenir plusieurs activités.A pipeline can have more than one activity. En outre, vous pouvez chaîner deux activités (une après l’autre) en configurant le jeu de données de sortie d’une activité en tant que jeu de données d’entrée de l’autre activité.And, you can chain two activities (run one activity after another) by setting the output dataset of one activity as the input dataset of the other activity. Pour plus d’informations, consultez Plusieurs activités dans un pipeline.For more information, see multiple activities in a pipeline.

Notes

Dans ce didacticiel, le pipeline de données copie les données d’un magasin de données source vers un magasin de données de destination.The data pipeline in this tutorial copies data from a source data store to a destination data store. Pour suivre un tutoriel sur la transformation des données à l’aide d’Azure Data Factory, consultez Tutoriel : Créer un pipeline pour transformer des données à l’aide d’un cluster Hadoop.For a tutorial on how to transform data using Azure Data Factory, see Tutorial: Build a pipeline to transform data using Hadoop cluster.

PrérequisPrerequisites

Notes

Cet article a été mis à jour pour tenir compte de l’utilisation du nouveau module Az d’Azure PowerShell.This article has been updated to use the new Azure PowerShell Az module. Vous pouvez toujours utiliser le module AzureRM, qui continue à recevoir des correctifs de bogues jusqu’à au moins décembre 2020.You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Pour en savoir plus sur le nouveau module Az et la compatibilité avec AzureRM, consultez Présentation du nouveau module Az d’Azure PowerShell.To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Pour des instructions d’installation du module Az, consultez Installer Azure PowerShell.For Az module installation instructions, see Install Azure PowerShell.

  1. Lisez l’article Vue d’ensemble du didacticiel et effectuez les étapes préalables requises .Read through Tutorial Overview article and complete the prerequisite steps.
  2. Pour créer des instances Data Factory, vous devez avoir un rôle de collaborateur de fabrique de données au niveau de l’abonnement/du groupe de ressources.To create Data Factory instances, you must be a member of the Data Factory Contributor role at the subscription/resource group level.
  3. Les composants suivants doivent être installés sur votre ordinateur :You must have the following installed on your computer:
    • Visual Studio 2013 ou Visual Studio 2015Visual Studio 2013 or Visual Studio 2015
    • Téléchargez le Kit de développement logiciel (SDK) Azure pour Visual Studio 2013 ou Visual Studio 2015.Download Azure SDK for Visual Studio 2013 or Visual Studio 2015. Accédez à la page de téléchargement d’Azure, puis cliquez sur VS 2013 ou VS 2015 dans la section  .NET.Navigate to Azure Download Page and click VS 2013 or VS 2015 in the .NET section.
    • Téléchargez le dernier plug-in Azure Data Factory pour Visual Studio : VS 2013 ou VS 2015.Download the latest Azure Data Factory plugin for Visual Studio: VS 2013 or VS 2015. Vous pouvez également mettre à jour le plug-in en effectuant les étapes suivantes : Dans le menu, cliquez sur Outils -> Extensions et mises à jour -> En ligne -> Galerie Visual Studio -> Outils Microsoft Azure Data Factory pour Visual Studio -> Mettre à jour.You can also update the plugin by doing the following steps: On the menu, click Tools -> Extensions and Updates -> Online -> Visual Studio Gallery -> Microsoft Azure Data Factory Tools for Visual Studio -> Update.

ÉtapesSteps

Voici les étapes à effectuer dans le cadre de ce didacticiel :Here are the steps you perform as part of this tutorial:

  1. Créez des services liés dans la fabrique de données.Create linked services in the data factory. Dans cette étape, vous créez deux services liés des types suivants : Stockage Azure et Azure SQL Database.In this step, you create two linked services of types: Azure Storage and Azure SQL Database.

    AzureStorageLinkedService relie votre compte de stockage Azure à la fabrique de données.The AzureStorageLinkedService links your Azure storage account to the data factory. Vous avez créé un conteneur et chargé des données dans ce compte de stockage dans le cadre des conditions préalables.You created a container and uploaded data to this storage account as part of prerequisites.

    AzureSqlLinkedService lie votre base de données Azure SQL à la fabrique de données.AzureSqlLinkedService links your Azure SQL database to the data factory. Les données copiées à partir du stockage Blob sont stockées dans cette base de données.The data that is copied from the blob storage is stored in this database. Vous avez créé une table SQL dans cette base de données en remplissant les conditions préalables.You created a SQL table in this database as part of prerequisites.

  2. Créez des jeux de données d’entrée et de sortie dans la fabrique de données.Create input and output datasets in the data factory.

    Le service lié Stockage Azure spécifie la chaîne de connexion que le service Data Factory utilise au moment de l’exécution pour se connecter à votre compte de stockage Azure.The Azure storage linked service specifies the connection string that Data Factory service uses at run time to connect to your Azure storage account. Le jeu de données blob d’entrée spécifie quant à lui le conteneur et le dossier qui contient les données d’entrée.And, the input blob dataset specifies the container and the folder that contains the input data.

    De même, le service lié Azure SQL Database spécifie la chaîne de connexion que le service Data Factory utilise au moment de l’exécution pour se connecter à votre base de données Azure SQL.Similarly, the Azure SQL Database linked service specifies the connection string that Data Factory service uses at run time to connect to your Azure SQL database. Et le jeu de données de la table SQL de sortie spécifie la table de la base de données dans laquelle les données du stockage Blob sont copiées.And, the output SQL table dataset specifies the table in the database to which the data from the blob storage is copied.

  3. Créez un pipeline dans la fabrique de données.Create a pipeline in the data factory. Dans cette étape, vous allez créer un pipeline avec une activité de copie.In this step, you create a pipeline with a copy activity.

    Cette activité copie les données d’un objet blob du stockage Blob Azure dans une table de la base de données Azure SQL.The copy activity copies data from a blob in the Azure blob storage to a table in the Azure SQL database. Vous pouvez utiliser une activité de copie dans un pipeline pour copier les données d’une source prise en charge dans une destination prise en charge.You can use a copy activity in a pipeline to copy data from any supported source to any supported destination. Pour obtenir la liste des magasins de données pris en charge, consultez Activités de déplacement des données.For a list of supported data stores, see data movement activities article.

  4. Créez une fabrique de données Azure lors du déploiement des entités Data Factory (services liés, jeux de données/tables et pipelines).Create an Azure data factory when deploying Data Factory entities (linked services, datasets/tables, and pipelines).

Création d’un projet Visual StudioCreate Visual Studio project

  1. Lancez Visual Studio 2015.Launch Visual Studio 2015. Cliquez sur Fichier, pointez le curseur de la souris sur Nouveau, puis cliquez sur Projet.Click File, point to New, and click Project. La boîte de dialogue Nouveau projet doit s’afficher.You should see the New Project dialog box.

  2. Dans la boîte de dialogue Nouveau projet, sélectionnez le modèle DataFactory, puis cliquez sur Projet Data Factory vide.In the New Project dialog, select the DataFactory template, and click Empty Data Factory Project.

    Boîte de dialogue Nouveau projet

  3. Spécifiez le nom du projet, l’emplacement de la solution et le nom de la solution, puis cliquez sur OK.Specify the name of the project, location for the solution, and name of the solution, and then click OK.

    Explorateur de solutions

Créez des services liésCreate linked services

Vous allez créer des services liés dans une fabrique de données pour lier vos magasins de données et vos services de calcul à la fabrique de données.You create linked services in a data factory to link your data stores and compute services to the data factory. Dans ce didacticiel, vous n’allez pas utiliser n’importe quel service de calcul comme Azure HDInsight ou Azure Data Lake Analytics.In this tutorial, you don't use any compute service such as Azure HDInsight or Azure Data Lake Analytics. Vous utilisez deux magasins de données de type Stockage Azure (source) et Azure SQL Database (destination).You use two data stores of type Azure Storage (source) and Azure SQL Database (destination).

Par conséquent, vous créez deux services liés des types suivants : AzureStorage et AzureSqlDatabase.Therefore, you create two linked services of types: AzureStorage and AzureSqlDatabase.

Le service lié Stockage Azure relie votre compte de stockage Azure à la fabrique de données.The Azure Storage linked service links your Azure storage account to the data factory. Ce compte de stockage est celui dans lequel vous avez créé un conteneur et chargé les données en remplissant les conditions préalables.This storage account is the one in which you created a container and uploaded the data as part of prerequisites.

Le service lié Azure SQL lie votre base de données Azure SQL à la fabrique de données.Azure SQL linked service links your Azure SQL database to the data factory. Les données copiées à partir du stockage Blob sont stockées dans cette base de données.The data that is copied from the blob storage is stored in this database. Vous avez créé une table emp dans cette base de données en remplissant les conditions préalables.You created the emp table in this database as part of prerequisites.

Les services liés se chargent de lier des magasins de données ou des services de calcul à une fabrique de données Azure.Linked services link data stores or compute services to an Azure data factory. Pour connaître l’ensemble des sources et des récepteurs pris en charge par l’activité de copie, consultez Banques de données et formats pris en charge .See supported data stores for all the sources and sinks supported by the Copy Activity. Pour obtenir la liste des services de calcul pris en charge par Data Factory, consultez Services liés de calcul .See compute linked services for the list of compute services supported by Data Factory. Dans ce didacticiel, aucun service de calcul n’est utilisé.In this tutorial, you do not use any compute service.

Créer le service lié Azure StorageCreate the Azure Storage linked service

  1. Dans l’Explorateur de solutions, cliquez avec le bouton droit sur Services liés, pointez sur Ajouter puis cliquez sur Nouvel élément.In Solution Explorer, right-click Linked Services, point to Add, and click New Item.

  2. Dans la boîte de dialogue Ajouter un nouvel élément, sélectionnez Service lié Azure Storage dans la liste, puis cliquez sur Ajouter.In the Add New Item dialog box, select Azure Storage Linked Service from the list, and click Add.

    Nouveau service lié

  3. Remplacez <accountname> et <accountkey>* par le nom de votre compte de stockage Azure et par sa clé.Replace <accountname> and <accountkey>* with the name of your Azure storage account and its key.

    Service lié Azure Storage

  4. Enregistrez le fichier AzureStorageLinkedService1.json .Save the AzureStorageLinkedService1.json file.

    Pour plus d’informations sur les propriétés JSON dans la définition de service lié, consultez l’article Azure Blob Storage connector) (Connecteur de stockage Blob Azure).For more information about JSON properties in the linked service definition, see Azure Blob Storage connector article.

Créer le service lié SQL AzureCreate the Azure SQL linked service

  1. Cliquez de nouveau avec le bouton droit sur le nœud Services liés dans l’Explorateur de solutions, pointez sur Ajouter, puis cliquez sur Nouvel élément.Right-click on Linked Services node in the Solution Explorer again, point to Add, and click New Item.

  2. Cette fois, sélectionnez Service lié SQL Azure, puis cliquez sur Ajouter.This time, select Azure SQL Linked Service, and click Add.

  3. Dans le fichier AzureSqlLinkedService1.json, remplacez <servername>, <databasename>, <username@servername> et <password> par le nom du compte d’utilisateur, de la base de données et de votre serveur SQL Azure, et par le mot de passe associé.In the AzureSqlLinkedService1.json file, replace <servername>, <databasename>, <username@servername>, and <password> with names of your Azure SQL server, database, user account, and password.

  4. Enregistrez le fichier AzureSqlLinkedService1.json .Save the AzureSqlLinkedService1.json file.

    Pour plus d’informations sur ces propriétés JSON, consultez Connecteur Azure SQL Database.For more information about these JSON properties, see Azure SQL Database connector.

Créez les jeux de donnéesCreate datasets

Dans l’étape précédente, vous avez créé des services pour lier votre compte de stockage Azure et une base de données Azure SQL à votre fabrique de données.In the previous step, you created linked services to link your Azure Storage account and Azure SQL database to your data factory. Dans cette étape, vous définissez deux jeux de données nommés InputDataset et OutputDataset, qui représentent les données d’entrée/sortie stockées dans les banques de données référencées par AzureStorageLinkedService1 et AzureSqlLinkedService1, respectivement.In this step, you define two datasets named InputDataset and OutputDataset that represent input and output data that is stored in the data stores referred by AzureStorageLinkedService1 and AzureSqlLinkedService1 respectively.

Le service lié Azure Storage spécifie la chaîne de connexion que le service Data Factory utilise au moment de l’exécution pour se connecter à votre compte de stockage Azure.The Azure storage linked service specifies the connection string that Data Factory service uses at run time to connect to your Azure storage account. Le jeu de données blob d’entrée (InputDataset) spécifie quant à lui le conteneur et le dossier qui contient les données d’entrée.And, the input blob dataset (InputDataset) specifies the container and the folder that contains the input data.

De même, le service lié Azure SQL Database spécifie la chaîne de connexion que le service Data Factory utilise au moment de l’exécution pour se connecter à votre base de données Azure SQL.Similarly, the Azure SQL Database linked service specifies the connection string that Data Factory service uses at run time to connect to your Azure SQL database. Et le jeu de données de la table SQL de sortie (OututDataset) spécifie la table de la base de données dans laquelle les données du stockage Blob sont copiées.And, the output SQL table dataset (OututDataset) specifies the table in the database to which the data from the blob storage is copied.

Créer le jeu de données d’entréeCreate input dataset

Dans cette étape, vous créez un jeu de données nommé InputDataset qui pointe vers un fichier blob (emp.txt) dans le dossier racine d’un conteneur d’objets blob (adftutorial) du stockage Azure représenté par le service lié AzureStorageLinkedService1.In this step, you create a dataset named InputDataset that points to a blob file (emp.txt) in the root folder of a blob container (adftutorial) in the Azure Storage represented by the AzureStorageLinkedService1 linked service. Si vous ne spécifiez de valeur pour fileName (ou si vous ignorez ce paramètre), les données de tous les objets blob du dossier d’entrée sont copiées dans la destination.If you don't specify a value for the fileName (or skip it), data from all blobs in the input folder are copied to the destination. Dans ce didacticiel, vous spécifiez une valeur pour fileName.In this tutorial, you specify a value for the fileName.

Ici, vous utilisez le terme « tables » plutôt que « jeux de données ».Here, you use the term "tables" rather than "datasets". Une table est un jeu de données rectangulaire. C’est le seul type de jeu de données pris en charge pour l’instant.A table is a rectangular dataset and is the only type of dataset supported right now.

  1. Dans l’Explorateur de solutions, cliquez avec le bouton droit sur Tables, pointez sur Ajouter, puis cliquez sur Nouvel élément.Right-click Tables in the Solution Explorer, point to Add, and click New Item.

  2. Dans la boîte de dialogue Ajouter un nouvel élément, sélectionnez Objet blob Azure, puis cliquez sur Ajouter.In the Add New Item dialog box, select Azure Blob, and click Add.

  3. Remplacez le texte JSON par le texte suivant, puis enregistrez le fichier AzureBlobLocation1.json .Replace the JSON text with the following text and save the AzureBlobLocation1.json file.

    {
     "name": "InputDataset",
     "properties": {
       "structure": [
         {
           "name": "FirstName",
           "type": "String"
         },
         {
           "name": "LastName",
           "type": "String"
         }
       ],
       "type": "AzureBlob",
       "linkedServiceName": "AzureStorageLinkedService1",
       "typeProperties": {
         "folderPath": "adftutorial/",
         "format": {
           "type": "TextFormat",
           "columnDelimiter": ","
         }
       },
       "external": true,
       "availability": {
         "frequency": "Hour",
         "interval": 1
       }
     }
    }
    

    Le tableau suivant décrit les propriétés JSON utilisées dans l'extrait de code :The following table provides descriptions for the JSON properties used in the snippet:

    PropriétéProperty DescriptionDescription
    typetype La propriété du type est définie sur AzureBlob, car les données se trouvent dans le stockage blob Azure.The type property is set to AzureBlob because data resides in an Azure blob storage.
    linkedServiceNamelinkedServiceName Fait référence au service AzureStorageLinkedService que vous avez créé précédemment.Refers to the AzureStorageLinkedService that you created earlier.
    folderPathfolderPath Spécifie le conteneur d’objets blob et le dossier qui contient les objets blob d’entrée.Specifies the blob container and the folder that contains input blobs. Dans ce didacticiel, adftutorial est le conteneur d’objets blob et folder est le dossier racine.In this tutorial, adftutorial is the blob container and folder is the root folder.
    fileNamefileName Cette propriété est facultative.This property is optional. Si vous omettez cette propriété, tous les fichiers spécifiés dans le paramètre folderPath sont récupérés.If you omit this property, all files from the folderPath are picked. Dans ce didacticiel, emp.txt est spécifié pour le paramètre fileName, si bien que seul ce fichier est récupéré pour le traitement.In this tutorial, emp.txt is specified for the fileName, so only that file is picked up for processing.
    format -> typeformat -> type Le fichier d’entrée étant au format texte, nous utilisons TextFormat.The input file is in the text format, so we use TextFormat.
    columnDelimitercolumnDelimiter Les colonnes du fichier d’entrée sont délimitées par une virgule (,) .The columns in the input file are delimited by comma character (,).
    frequency/intervalfrequency/interval La fréquence est définie sur Heure et l’intervalle est 1, ce qui signifie que les segments d’entrée sont disponibles toutes les heures.The frequency is set to Hour and interval is set to 1, which means that the input slices are available hourly. En d’autres termes, le service Data Factory recherche les données d’entrée toutes les heures dans le dossier racine du conteneur d’objets blob (adftutorial) que vous avez spécifié.In other words, the Data Factory service looks for input data every hour in the root folder of blob container (adftutorial) you specified. Il recherche des données entre les heures de début et de fin du pipeline, pas avant ni après.It looks for the data within the pipeline start and end times, not before or after these times.
    externalexternal Cette propriété a la valeur true si les données ne sont pas générées par ce pipeline.This property is set to true if the data is not generated by this pipeline. Dans ce didacticiel, les données d’entrée sont dans le fichier emp.txt, qui n’est pas généré par ce pipeline. Nous définissons donc cette propriété sur true.The input data in this tutorial is in the emp.txt file, which is not generated by this pipeline, so we set this property to true.

    Pour plus d’informations sur ces propriétés JSON, consultez l’article Azure Blob connector (Connecteur de stockage Blob Azure).For more information about these JSON properties, see Azure Blob connector article.

Créer un jeu de données de sortieCreate output dataset

Dans cette étape, vous créez un jeu de données de sortie nommé OutputDataset.In this step, you create an output dataset named OutputDataset. Ce jeu de données pointe vers une table SQL de la base de données Azure SQL représentée par AzureSqlLinkedService1.This dataset points to a SQL table in the Azure SQL database represented by AzureSqlLinkedService1.

  1. Dans l’Explorateur de solutions, cliquez de nouveau avec le bouton droit sur Tables, pointez sur Ajouter, puis cliquez sur Nouvel élément.Right-click Tables in the Solution Explorer again, point to Add, and click New Item.

  2. Dans la boîte de dialogue Ajouter un nouvel élément, sélectionnez Azure SQL, puis cliquez sur Ajouter.In the Add New Item dialog box, select Azure SQL, and click Add.

  3. Remplacez le texte JSON par le texte JSON suivant, puis enregistrez le fichier AzureSqlTableLocation1.json .Replace the JSON text with the following JSON and save the AzureSqlTableLocation1.json file.

     {
      "name": "OutputDataset",
      "properties": {
        "structure": [
          {
            "name": "FirstName",
            "type": "String"
          },
          {
            "name": "LastName",
            "type": "String"
          }
        ],
        "type": "AzureSqlTable",
        "linkedServiceName": "AzureSqlLinkedService1",
        "typeProperties": {
          "tableName": "emp"
        },
        "availability": {
          "frequency": "Hour",
          "interval": 1
        }
      }
     }
    

    Le tableau suivant décrit les propriétés JSON utilisées dans l'extrait de code :The following table provides descriptions for the JSON properties used in the snippet:

    PropriétéProperty DescriptionDescription
    typetype La propriété du type est définie sur AzureSqlTable car les données sont copiées dans une table de la base de données Azure SQL.The type property is set to AzureSqlTable because data is copied to a table in an Azure SQL database.
    linkedServiceNamelinkedServiceName Fait référence au service AzureSqlLinkedService que vous avez créé précédemment.Refers to the AzureSqlLinkedService that you created earlier.
    tableNametableName Spécifie la table dans laquelle les données sont copiées.Specified the table to which the data is copied.
    frequency/intervalfrequency/interval La fréquence est définie sur Heure et l’intervalle sur 1, ce qui signifie que les tranches de sortie sont produites toutes les heures entre les heures de début et de fin du pipeline, pas avant ni après.The frequency is set to Hour and interval is 1, which means that the output slices are produced hourly between the pipeline start and end times, not before or after these times.

    La table emp de la base de données contient trois colonnes : ID, FirstName et LastName.There are three columns – ID, FirstName, and LastName – in the emp table in the database. ID étant une colonne d’identité, il vous suffit de spécifier FirstName et LastName.ID is an identity column, so you need to specify only FirstName and LastName here.

    Pour plus d’informations sur ces propriétés JSON, consultez l’article Azure SQL connector (Connecteur SQL Azure).For more information about these JSON properties, see Azure SQL connector article.

Création d’un pipelineCreate pipeline

Dans cette étape, vous créez un pipeline avec une activité de copie qui utilise InputDataset en entrée et OutputDataset en sortie.In this step, you create a pipeline with a copy activity that uses InputDataset as an input and OutputDataset as an output.

Le jeu de données de sortie pilote actuellement la planification.Currently, output dataset is what drives the schedule. Dans ce didacticiel, le jeu de données de sortie est configuré pour produire une tranche par heure.In this tutorial, output dataset is configured to produce a slice once an hour. Les heures de début et de fin du pipeline sont distantes d’une journée, soit 24 heures.The pipeline has a start time and end time that are one day apart, which is 24 hours. Par conséquent, 24 tranches de jeu de données de sortie sont générées par le pipeline.Therefore, 24 slices of output dataset are produced by the pipeline.

  1. Dans l’Explorateur de solutions, cliquez avec le bouton droit sur Pipelines, pointez sur Ajouter, puis cliquez sur Nouvel élément.Right-click Pipelines in the Solution Explorer, point to Add, and click New Item.

  2. Sélectionnez Pipeline de copie de données dans la boîte de dialogue Ajouter un nouvel élément, puis cliquez sur Ajouter.Select Copy Data Pipeline in the Add New Item dialog box and click Add.

  3. Remplacez le texte JSON par le texte JSON suivant, puis enregistrez le fichier CopyActivity1.json .Replace the JSON with the following JSON and save the CopyActivity1.json file.

     {
      "name": "ADFTutorialPipeline",
      "properties": {
        "description": "Copy data from a blob to Azure SQL table",
        "activities": [
          {
            "name": "CopyFromBlobToSQL",
            "type": "Copy",
            "inputs": [
              {
                "name": "InputDataset"
              }
            ],
            "outputs": [
              {
                "name": "OutputDataset"
              }
            ],
            "typeProperties": {
              "source": {
                "type": "BlobSource"
              },
              "sink": {
                "type": "SqlSink",
                "writeBatchSize": 10000,
                "writeBatchTimeout": "60:00:00"
              }
            },
            "Policy": {
              "concurrency": 1,
              "executionPriorityOrder": "NewestFirst",
              "style": "StartOfInterval",
              "retry": 0,
              "timeout": "01:00:00"
            }
          }
        ],
        "start": "2017-05-11T00:00:00Z",
        "end": "2017-05-12T00:00:00Z",
        "isPaused": false
      }
     }
    
    • Dans la section des activités, il existe une seule activité dont le type a la valeur Copy.In the activities section, there is only one activity whose type is set to Copy. Pour plus d’informations sur l’activité de copie, consultez Activités de déplacement des données.For more information about the copy activity, see data movement activities. Dans les solutions Data Factory, vous pouvez également utiliser Activités de transformation des données.In Data Factory solutions, you can also use data transformation activities.

    • L’entrée de l’activité est définie sur InputDataset et sa sortie, sur OutputDataset.Input for the activity is set to InputDataset and output for the activity is set to OutputDataset.

    • Dans la section typeProperties, BlobSource est spécifié en tant que type de source et SqlSink, en tant que type de récepteur.In the typeProperties section, BlobSource is specified as the source type and SqlSink is specified as the sink type. Pour obtenir la liste des magasins de données pris en charge en tant que sources et récepteurs pour l’activité de copie, consultez Magasins de données pris en charge.For a complete list of data stores supported by the copy activity as sources and sinks, see supported data stores. Pour apprendre à utiliser un magasin de données pris en charge spécifique en tant que source/récepteur, cliquez sur le lien dans le tableau.To learn how to use a specific supported data store as a source/sink, click the link in the table.

      Remplacez la valeur de la propriété start par le jour actuel et la valeur end, par le jour suivant.Replace the value of the start property with the current day and end value with the next day. Si vous le souhaitez, spécifiez uniquement la date et ignorez l'heure.You can specify only the date part and skip the time part of the date time. Par exemple, « 2016-02-03 », qui équivaut à « 2016-02-03T00:00:00Z ».For example, "2016-02-03", which is equivalent to "2016-02-03T00:00:00Z"

      Les dates/heures de début et de fin doivent toutes deux être au format ISO.Both start and end datetimes must be in ISO format. Par exemple : 2016-10-14T16:32:41Z.For example: 2016-10-14T16:32:41Z. L’heure de fin ( end ) est facultative, mais nous allons l’utiliser dans ce didacticiel.The end time is optional, but we use it in this tutorial.

      Si vous ne spécifiez aucune valeur pour la propriété end, cette dernière est calculée comme suit : « start + 48 heures ».If you do not specify value for the end property, it is calculated as "start + 48 hours". Pour exécuter le pipeline indéfiniment, spécifiez 9999-09-09 comme valeur pour la propriété end.To run the pipeline indefinitely, specify 9999-09-09 as the value for the end property.

      Dans l’exemple ci-dessus, il existe 24 tranches de données, car une tranche de données est générée toutes les heures.In the preceding example, there are 24 data slices as each data slice is produced hourly.

      Pour obtenir une description des propriétés JSON dans une définition de pipeline, consultez l’article Créer des pipelines.For descriptions of JSON properties in a pipeline definition, see create pipelines article. Pour obtenir une description des propriétés JSON dans une définition d’activité de copie, consultez Activités de déplacement des données.For descriptions of JSON properties in a copy activity definition, see data movement activities. Pour obtenir une description des propriétés JSON prises en charge par BlobSource, consultez l’article Connecteur de stockage Blob Azure.For descriptions of JSON properties supported by BlobSource, see Azure Blob connector article. Pour obtenir une description des propriétés JSON prises en charge par SqlSink, consultez l’article Connecteur Azure SQL Database.For descriptions of JSON properties supported by SqlSink, see Azure SQL Database connector article.

Publier/Déployer des entités Data FactoryPublish/deploy Data Factory entities

Dans cette étape, vous publiez les entités Data Factory (services liés, jeux de données et pipeline) que vous avez créées précédemment.In this step, you publish Data Factory entities (linked services, datasets, and pipeline) you created earlier. Vous spécifiez également le nom de la fabrique de données à créer pour contenir ces entités.You also specify the name of the new data factory to be created to hold these entities.

  1. Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le projet, puis cliquez sur Publier.Right-click project in the Solution Explorer, and click Publish.

  2. Si la boîte de dialogue Connectez-vous à votre compte Microsoft s’affiche, saisissez vos informations d’identification pour le compte associé à l’abonnement Azure, puis cliquez sur Se connecter.If you see Sign in to your Microsoft account dialog box, enter your credentials for the account that has Azure subscription, and click sign in.

  3. La boîte de dialogue suivante doit s’afficher :You should see the following dialog box:

    Boîte de dialogue Publier

  4. Dans la page Configurer une fabrique de données, procédez comme suit :In the Configure data factory page, do the following steps:

    1. Sélectionnez l'option Créer une fabrique de données .select Create New Data Factory option.

    2. Saisissez VSTutorialFactory dans le champ Nom.Enter VSTutorialFactory for Name.

      Important

      Le nom de la fabrique de données Azure doit être un nom global unique.The name of the Azure data factory must be globally unique. Si vous obtenez une erreur concernant le nom de la fabrique de données pendant la publication, modifiez ce nom (par exemple, votrenomVSTutorialFactory) et relancez la publication.If you receive an error about the name of data factory when publishing, change the name of the data factory (for example, yournameVSTutorialFactory) and try publishing again. Consultez la rubrique Data Factory - Règles d’affectation des noms pour savoir comment nommer les artefacts Data Factory.See Data Factory - Naming Rules topic for naming rules for Data Factory artifacts.

    3. Sélectionnez votre abonnement Azure pour le champ Abonnement .Select your Azure subscription for the Subscription field.

      Important

      Si vous ne voyez pas les abonnements, vérifiez que vous êtes connecté à l’aide d’un compte administrateur ou coadministrateur de l’abonnement.If you do not see any subscription, ensure that you logged in using an account that is an admin or co-admin of the subscription.

    4. Sélectionnez le groupe de ressources pour la fabrique de données à créer.Select the resource group for the data factory to be created.

    5. Sélectionnez la région pour la fabrique de données.Select the region for the data factory. Seules les régions prises en charge par le service Data Factory sont affichées dans la liste déroulante.Only regions supported by the Data Factory service are shown in the drop-down list.

    6. Cliquez sur Suivant pour basculer vers la page Publier des éléments.Click Next to switch to the Publish Items page.

      Page Configurer une fabrique de données

  5. Dans la page Publier des éléments, vérifiez que toutes les entités de fabriques de données sont sélectionnées, puis cliquez sur Suivant pour basculer vers la page Résumé.In the Publish Items page, ensure that all the Data Factories entities are selected, and click Next to switch to the Summary page.

    Page Publier des éléments

  6. Passez en revue le résumé, puis cliquez sur Suivant pour démarrer le processus de déploiement et afficher l’état du déploiement.Review the summary and click Next to start the deployment process and view the Deployment Status.

    Page Résumé de la publication

  7. Dans la page État du déploiement , vous devez voir l’état du processus de déploiement.In the Deployment Status page, you should see the status of the deployment process. Une fois le déploiement terminé, cliquez sur Terminer.Click Finish after the deployment is done.

    Page État du déploiement

Notez les points suivants :Note the following points:

  • Si vous recevez le message d’erreur : « L’abonnement n’est pas inscrit pour utiliser l’espace de noms Microsoft.DataFactory », effectuez l’une des opérations suivantes et essayez de relancer la publication :If you receive the error: "This subscription is not registered to use namespace Microsoft.DataFactory", do one of the following and try publishing again:

    • Dans Azure PowerShell, exécutez la commande suivante pour enregistrer le fournisseur Data Factory.In Azure PowerShell, run the following command to register the Data Factory provider.

      Register-AzResourceProvider -ProviderNamespace Microsoft.DataFactory
      

      Vous pouvez exécuter la commande suivante pour confirmer que le fournisseur Data Factory est bien enregistré.You can run the following command to confirm that the Data Factory provider is registered.

      Get-AzResourceProvider
      
    • Connectez-vous au portail Azure à l’aide de l’abonnement Azure et accédez à un panneau Data Factory (ou) créez une fabrique de données dans le portail Azure.Login using the Azure subscription into the Azure portal and navigate to a Data Factory blade (or) create a data factory in the Azure portal. Cette action enregistre automatiquement le fournisseur.This action automatically registers the provider for you.

  • Le nom de la fabrique de données pourra être enregistré en tant que nom DNS et devenir ainsi visible publiquement.The name of the data factory may be registered as a DNS name in the future and hence become publicly visible.

Important

Pour créer des instances Data Factory, vous devez être administrateur ou co-administrateur de l’abonnement Azure.To create Data Factory instances, you need to be an admin/co-admin of the Azure subscription

Surveillance d’un pipelineMonitor pipeline

Accédez à la page d’accueil de votre fabrique de données :Navigate to the home page for your data factory:

  1. Connectez-vous au portail Azure.Log in to Azure portal.

  2. Cliquez sur Plus de services sur le menu de gauche, puis sur Fabriques de données.Click More services on the left menu, and click Data factories.

    Parcourir les fabriques de données

  3. Commencez à taper le nom de votre fabrique de données.Start typing the name of your data factory.

    Nom de la fabrique de données

  4. Cliquez sur votre fabrique de données dans la liste des résultats pour afficher la page d’accueil de votre fabrique de données.Click your data factory in the results list to see the home page for your data factory.

    Page d’accueil Data Factory

  5. Suivez les instructions dans Surveiller les jeux de données et le pipeline pour surveiller le pipeline et les jeux de données que vous avez créés dans ce didacticiel.Follow instructions from Monitor datasets and pipeline to monitor the pipeline and datasets you have created in this tutorial. Pour le moment, Visual Studio ne prend pas en charge la surveillance des pipelines Data Factory.Currently, Visual Studio does not support monitoring Data Factory pipelines.

RésuméSummary

Dans ce tutoriel, vous avez créé une fabrique de données Azure pour copier des données d'objet blob Azure dans une base de données Azure SQL.In this tutorial, you created an Azure data factory to copy data from an Azure blob to an Azure SQL database. Vous avez utilisé Visual Studio pour créer la fabrique de données, les services liés, les jeux de données et un pipeline.You used Visual Studio to create the data factory, linked services, datasets, and a pipeline. Voici les opérations globales que vous avez effectuées dans ce didacticiel :Here are the high-level steps you performed in this tutorial:

  1. Création d’une fabrique de donnéesAzure.Created an Azure data factory.
  2. Création de services liés:Created linked services:
    1. Un service lié Stockage Azure pour lier votre compte Stockage Azure contenant des données d’entrée.An Azure Storage linked service to link your Azure Storage account that holds input data.
    2. Un service lié Azure SQL pour lier votre base de données Azure SQL contenant les données de sortie.An Azure SQL linked service to link your Azure SQL database that holds the output data.
  3. Création des jeux de donnéesqui décrivent les données d’entrée et de sortie des pipelines.Created datasets, which describe input data and output data for pipelines.
  4. Création d’un pipeline avec une activité de copie avec BlobSource en tant que source et SqlSink en tant que récepteur.Created a pipeline with a Copy Activity with BlobSource as source and SqlSink as sink.

Pour voir comment utiliser une activité Hive HDInsight visant à transformer des données à l’aide d’un cluster Azure HDInsight, consultez Tutoriel : Générer votre premier pipeline pour transformer les données à l’aide du cluster Hadoop.To see how to use a HDInsight Hive Activity to transform data by using Azure HDInsight cluster, see Tutorial: Build your first pipeline to transform data using Hadoop cluster.

Vous pouvez chaîner deux activités (une après l’autre) en configurant le jeu de données de sortie d’une activité en tant que jeu de données d’entrée de l’autre activité.You can chain two activities (run one activity after another) by setting the output dataset of one activity as the input dataset of the other activity. Pour des informations détaillées, consultez Planification et exécution avec Data Factory.See Scheduling and execution in Data Factory for detailed information.

Afficher toutes les fabriques de données dans l’Explorateur de serveursView all data factories in Server Explorer

Cette section explique comment utiliser l’Explorateur de serveurs dans Visual Studio pour afficher toutes les fabriques de données dans votre abonnement Azure et créer un projet Visual Studio basé sur une fabrique de données existante.This section describes how to use the Server Explorer in Visual Studio to view all the data factories in your Azure subscription and create a Visual Studio project based on an existing data factory.

  1. Dans Visual Studio, cliquez sur Affichage dans le menu, puis sur Explorateur de serveurs.In Visual Studio, click View on the menu, and click Server Explorer.

  2. Dans la fenêtre Explorateur de serveurs, développez Azure, puis Data Factory.In the Server Explorer window, expand Azure and expand Data Factory. Si la boîte de dialogue Connectez-vous à Visual Studio s’affiche, saisissez le compte associé à votre abonnement Azure, puis cliquez sur Continuer.If you see Sign in to Visual Studio, enter the account associated with your Azure subscription and click Continue. Saisissez le mot de passe, puis cliquez sur Se connecter.Enter password, and click Sign in. Visual Studio essaie d’obtenir des informations sur toutes les fabriques de données Azure contenues dans votre abonnement.Visual Studio tries to get information about all Azure data factories in your subscription. L’état de cette opération s’affiche dans la fenêtre Liste des tâches de Data Factory .You see the status of this operation in the Data Factory Task List window.

    Explorateur de serveurs

Créer un projet Visual Studio pour une fabrique de données existanteCreate a Visual Studio project for an existing data factory

  • Cliquez avec le bouton droit sur une fabrique de données dans l’Explorateur de serveurs, puis sélectionnez Exporter la fabrique de données vers le nouveau projet pour créer un projet Visual Studio basé sur une fabrique de données existante.Right-click a data factory in Server Explorer, and select Export Data Factory to New Project to create a Visual Studio project based on an existing data factory.

    Exporter la fabrique de données vers un projet Visual Studio

Mettre à jour des outils Data Factory pour Visual StudioUpdate Data Factory tools for Visual Studio

Pour mettre à jour des outils Azure Data Factory pour Visual Studio, procédez comme suit :To update Azure Data Factory tools for Visual Studio, do the following steps:

  1. Dans le menu, cliquez sur Outils, puis sélectionnez Extensions et mises à jour.Click Tools on the menu and select Extensions and Updates.
  2. Dans le volet de gauche, sélectionnez Mises à jour, puis Galerie Visual Studio.Select Updates in the left pane and then select Visual Studio Gallery.
  3. Sélectionnez Outils Azure Data Factory pour Visual Studio, puis cliquez sur Mettre à jour.Select Azure Data Factory tools for Visual Studio and click Update. Si cette entrée n’est pas affichée, c’est que vous possédez déjà la dernière version de ces outils.If you do not see this entry, you already have the latest version of the tools.

Utiliser des fichiers de configurationUse configuration files

Vous pouvez utiliser des fichiers de configuration dans Visual Studio pour configurer les propriétés des services/tableaux/pipelines liés différemment pour chaque environnement.You can use configuration files in Visual Studio to configure properties for linked services/tables/pipelines differently for each environment.

Examinez la définition JSON suivante pour un service lié Azure Storage.Consider the following JSON definition for an Azure Storage linked service. Spécifiez connectionString avec différentes valeurs pour accountname et accountkey, en fonction de l’environnement (dév./test/production) sur lequel vous déployez des entités Data Factory.To specify connectionString with different values for accountname and accountkey based on the environment (Dev/Test/Production) to which you are deploying Data Factory entities. Vous pouvez parvenir à ce comportement en utilisant un fichier de configuration distinct pour chaque environnement.You can achieve this behavior by using separate configuration file for each environment.

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

Ajouter un fichier de configurationAdd a configuration file

Ajoutez un fichier de configuration pour chaque environnement en effectuant les opérations suivantes :Add a configuration file for each environment by performing the following steps:

  1. Cliquez avec le bouton droit de la souris sur le projet Data Factory dans votre solution Visual Studio, pointez sur Ajouter, puis cliquez sur Nouvel élément.Right-click the Data Factory project in your Visual Studio solution, point to Add, and click New item.

  2. Sélectionnez Config dans la liste des modèles installés sur la gauche, choisissez Fichier de configuration, entrez un nom pour ce fichier, puis cliquez sur Ajouter.Select Config from the list of installed templates on the left, select Configuration File, enter a name for the configuration file, and click Add.

    Ajouter un fichier de configuration

  3. Ajoutez les paramètres de configuration et leurs valeurs au format suivant :Add configuration parameters and their values in the following format:

    {
        "$schema": "http://datafactories.schema.management.azure.com/vsschemas/V1/Microsoft.DataFactory.Config.json",
        "AzureStorageLinkedService1": [
            {
                "name": "$.properties.typeProperties.connectionString",
                "value": "DefaultEndpointsProtocol=https;AccountName=<accountname>;AccountKey=<accountkey>"
            }
        ],
        "AzureSqlLinkedService1": [
            {
                "name": "$.properties.typeProperties.connectionString",
                "value":  "Server=tcp:<Azure SQL server name>.database.windows.net,1433;Database=<Azure SQL datbase>;User ID=<Username>;Password=<Password>;Trusted_Connection=False;Encrypt=True;Connection Timeout=30"
            }
        ]
    }
    

    Cet exemple configure la propriété connectionString d’un service lié Azure Storage et d’un service lié SQL Azure.This example configures connectionString property of an Azure Storage linked service and an Azure SQL linked service. Notez que la syntaxe de spécification du nom est JsonPath.Notice that the syntax for specifying name is JsonPath.

    Si JSON est doté d’une propriété ayant un tableau de valeurs comme indiqué dans le code suivant :If JSON has a property that has an array of values as shown in the following code:

    "structure": [
          {
              "name": "FirstName",
            "type": "String"
          },
          {
            "name": "LastName",
            "type": "String"
        }
    ],
    

    Configurez les propriétés comme indiqué dans le fichier de configuration suivant (utilisez indexation de base zéro) :Configure properties as shown in the following configuration file (use zero-based indexing):

    {
        "name": "$.properties.structure[0].name",
        "value": "FirstName"
    }
    {
        "name": "$.properties.structure[0].type",
        "value": "String"
    }
    {
        "name": "$.properties.structure[1].name",
        "value": "LastName"
    }
    {
        "name": "$.properties.structure[1].type",
        "value": "String"
    }
    

Noms de propriétés avec des espacesProperty names with spaces

Si un nom de propriété comporte des espaces, utilisez des crochets comme indiqué dans l’exemple suivant (nom de serveur de base de données) :If a property name has spaces in it, use square brackets as shown in the following example (Database server name):

 {
     "name": "$.properties.activities[1].typeProperties.webServiceParameters.['Database server name']",
     "value": "MyAsqlServer.database.windows.net"
 }

Déployer une solution à l’aide d’une configurationDeploy solution using a configuration

Lorsque vous publiez des entités Azure Data Factory dans Visual Studio, vous pouvez spécifier la configuration que vous souhaitez utiliser pour cette opération de publication.When you are publishing Azure Data Factory entities in VS, you can specify the configuration that you want to use for that publishing operation.

Pour publier des entités dans un projet Azure Data Factory à l’aide d’un fichier de configuration :To publish entities in an Azure Data Factory project using configuration file:

  1. Cliquez avec le bouton droit sur le projet Data Factory, puis cliquez sur Publier pour afficher la boîte de dialogue Publier des éléments.Right-click Data Factory project and click Publish to see the Publish Items dialog box.

  2. Dans la page Configurer une fabrique de données, sélectionnez une fabrique de données existante ou spécifiez les valeurs pour en créer une, puis cliquez sur Suivant.Select an existing data factory or specify values for creating a data factory on the Configure data factory page, and click Next.

  3. La page Publier des éléments contient une liste déroulante avec les configurations disponibles pour le champ Sélectionner une configuration de déploiement.On the Publish Items page: you see a drop-down list with available configurations for the Select Deployment Config field.

    Sélectionner un fichier de config

  4. Sélectionnez le fichier de configuration que vous souhaitez utiliser, puis cliquez sur Suivant.Select the configuration file that you would like to use and click Next.

  5. Vérifiez que vous voyez bien le nom du fichier JSON dans la page Résumé, puis cliquez sur Suivant.Confirm that you see the name of JSON file in the Summary page and click Next.

  6. Une fois l’opération de déploiement terminée, cliquez sur Terminer .Click Finish after the deployment operation is finished.

Au cours du déploiement, les valeurs du fichier de configuration sont utilisées pour définir celles des propriétés des fichiers JSON avant que les entités ne soient déployées sur le service Azure Data Factory.When you deploy, the values from the configuration file are used to set values for properties in the JSON files before the entities are deployed to Azure Data Factory service.

Utiliser Azure Key VaultUse Azure Key Vault

Il n’est pas recommandé et souvent déconseillé vis-à-vis de la stratégie de sécurité pour valider des données sensibles telles que des chaînes de connexion au référentiel de code.It is not advisable and often against security policy to commit sensitive data such as connection strings to the code repository. Consultez l’exemple ADF Secure Publish sur GitHub pour en savoir plus sur le stockage d’informations sensibles dans Azure Key Vault et son utilisation lors de la publication des entités Data Factory.See ADF Secure Publish sample on GitHub to learn about storing sensitive information in Azure Key Vault and using it while publishing Data Factory entities. L’extension Secure Publish pour Visual Studio permet de stocker les secrets dans Key Vault, et seules les références à ceux-ci sont spécifiés dans des services / configurations de déploiement liés.The Secure Publish extension for Visual Studio allows the secrets to be stored in Key Vault and only references to them are specified in linked services/ deployment configurations. Ces références sont résolues lorsque vous publiez des entités Data Factory dans Azure.These references are resolved when you publish Data Factory entities to Azure. Ces fichiers peuvent ensuite être validés sur le référentiel source sans exposer les secrets.These files can then be committed to source repository without exposing any secrets.

Étapes suivantesNext steps

Dans ce tutoriel, vous avez utilisé le stockage Blob Azure comme magasin de données source et une base de données Azure SQL comme banque de données de destination dans une opération de copie.In this tutorial, you used Azure blob storage as a source data store and an Azure SQL database as a destination data store in a copy operation. Le tableau ci-dessous contient la liste des magasins de données pris en charge en tant que sources et destinations par l’activité de copie :The following table provides a list of data stores supported as sources and destinations by the copy activity:

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)

Pour découvrir comment copier des données vers/depuis un magasin de données, cliquez sur le lien du magasin de données dans le tableau.To learn about how to copy data to/from a data store, click the link for the data store in the table.