Pipelines et activités dans Azure Data FactoryPipelines and activities in Azure Data Factory

S’APPLIQUE À : Azure Data Factory Azure Synapse Analytics

Cet article vous aide à comprendre les pipelines et les activités dans Azure Data Factory, et à les utiliser dans l’optique de créer des workflows pilotés par les données de bout en bout pour vos scénarios de déplacement des données et de traitement des données.This article helps you understand pipelines and activities in Azure Data Factory and use them to construct end-to-end data-driven workflows for your data movement and data processing scenarios.

Vue d’ensembleOverview

Une fabrique de données peut avoir un ou plusieurs pipelines.A data factory can have one or more pipelines. Un pipeline constitue un regroupement logique d’activités qui exécutent ensemble une tâche.A pipeline is a logical grouping of activities that together perform a task. Par exemple, un pipeline peut contenir un ensemble d’activités qui ingèrent et nettoient des données de journal, puis lancent un flux de données de mappage pour analyser les données de journal.For example, a pipeline could contain a set of activities that ingest and clean log data, and then kick off a mapping data flow to analyze the log data. Le pipeline vous permet de gérer les activités en tant que groupe et non pas individuellement.The pipeline allows you to manage the activities as a set instead of each one individually. Vous pouvez déployer et planifier le pipeline, plutôt que chaque activité séparément.You deploy and schedule the pipeline instead of the activities independently.

Les activités d’un pipeline définissent les actions à effectuer sur les données.The activities in a pipeline define actions to perform on your data. Par exemple, vous pouvez utiliser une activité de copie pour copier des données d’un serveur SQL Server local dans un stockage Blob Azure.For example, you may use a copy activity to copy data from SQL Server to an Azure Blob Storage. Ensuite, utilisez une activité de flux de données ou une activité de Databricks Notebook pour traiter et transformer les données du stockage Blob en pool Azure Synapse Analytics sur lesquelles les solutions de création de rapports décisionnelles sont créées.Then, use a data flow activity or a Databricks Notebook activity to process and transform data from the blob storage to an Azure Synapse Analytics pool on top of which business intelligence reporting solutions are built.

Data Factory a trois groupes d’activités : les activités de déplacement des données, les activités de transformation des données et les activités de contrôle.Data Factory has three groupings of activities: data movement activities, data transformation activities, and control activities. Une activité peut inclure zéro ou plusieurs jeux de données d’entrée et produire un ou plusieurs jeux de données de sortie.An activity can take zero or more input datasets and produce one or more output datasets. Le diagramme suivant montre la relation entre le pipeline, l’activité et le jeu de données dans Data Factory :The following diagram shows the relationship between pipeline, activity, and dataset in Data Factory:

Relation entre le jeu de données, l’activité et le pipeline

Un jeu de données d’entrée représente l’entrée d’une activité dans le pipeline, tandis qu’un jeu de données de sortie représente la sortie de l’activité.An input dataset represents the input for an activity in the pipeline, and an output dataset represents the output for the activity. Les jeux de données identifient les données dans différents magasins de données, par exemple des tables, des fichiers, des dossiers et des documents.Datasets identify data within different data stores, such as tables, files, folders, and documents. Après avoir créé un jeu de données, vous pouvez l’utiliser avec des activités d’un pipeline.After you create a dataset, you can use it with activities in a pipeline. Un jeu de données peut, par exemple, constituer un jeu de données d’entrée/sortie d’une activité de copie ou d’une activité HDInsightHive.For example, a dataset can be an input/output dataset of a Copy Activity or an HDInsightHive Activity. Pour plus d’informations sur les jeux de données, consultez l’article Jeux de données dans Azure Data Factory.For more information about datasets, see Datasets in Azure Data Factory article.

Activités de déplacement des donnéesData movement activities

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 répertoriés dans le tableau de cette section.Data Factory supports the data stores listed in the table in this section. 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.

CategoryCategory 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 Prise en charge par Azure IRSupported by Azure IR Prise en charge par IR auto-hébergéSupported by self-hosted IR
Microsoft AzureAzure stockage d’objets blob AzureAzure Blob storage
  Index Recherche cognitive AzureAzure Cognitive Search index
  Azure Cosmos DB (API SQL)Azure Cosmos DB (SQL API)
  API pour MongoDB d’Azure Cosmos DBAzure Cosmos DB's API for MongoDB
  Explorateur de données AzureAzure Data Explorer
  Azure Data Lake Storage Gen1Azure Data Lake Storage Gen1
  Azure Data Lake Storage Gen2Azure Data Lake Storage Gen2
  Azure Database for MariaDBAzure Database for MariaDB
  Azure Database pour MySQLAzure Database for MySQL
  Base de données Azure pour PostgreSQLAzure Database for PostgreSQL
  Azure Databricks Delta LakeAzure Databricks Delta Lake
  Stockage Fichier AzureAzure File Storage
  Azure SQL DatabaseAzure SQL Database
  Azure SQL Managed InstanceAzure SQL Managed Instance
  Azure Synapse AnalyticsAzure Synapse Analytics
  Stockage Table AzureAzure Table storage
Sauvegarde de la base de donnéesDatabase Amazon RedshiftAmazon Redshift
  DB2DB2
  DrillDrill
  Google BigQueryGoogle BigQuery
  GreenplumGreenplum
  HBaseHBase
  HiveHive
  Apache ImpalaApache Impala
  InformixInformix
  MariaDBMariaDB
  Microsoft AccessMicrosoft Access
  MySQLMySQL
  NetezzaNetezza
  OracleOracle
  PhoenixPhoenix
  PostgreSQLPostgreSQL
  PrestoPresto
  SAP Business Warehouse via Open HubSAP Business Warehouse via Open Hub
  SAP Business Warehouse via MDXSAP Business Warehouse via MDX
  SAP HANASAP HANA
  Table SAPSAP table
  SnowflakeSnowflake
  SparkSpark
  SQL ServerSQL Server
  SybaseSybase
  TeradataTeradata
  VerticaVertica
NoSQLNoSQL CassandraCassandra
  Couchbase (préversion)Couchbase (Preview)
  MongoDBMongoDB
  MongoDB AtlasMongoDB Atlas
FileFile Amazon S3Amazon S3
  Système de fichiersFile system
  FTPFTP
  Google Cloud StorageGoogle Cloud Storage
  HDFSHDFS
  SFTPSFTP
Protocole génériqueGeneric protocol HTTP génériqueGeneric HTTP
  OData génériqueGeneric OData
  ODBC génériqueGeneric ODBC
  REST génériqueGeneric REST
Services et applicationsServices and apps Service web Amazon MarketplaceAmazon Marketplace Web Service
  Common Data ServiceCommon Data Service
  Concur (préversion)Concur (Preview)
  Dynamics 365Dynamics 365
  Dynamics AXDynamics AX
  Dynamics CRMDynamics CRM
  Google AdWordsGoogle AdWords
  HubSpotHubSpot
  JiraJira
  Magento (préversion)Magento (Preview)
  Marketo (préversion)Marketo (Preview)
  Microsoft 365Microsoft 365
  Oracle Eloqua (préversion)Oracle Eloqua (Preview)
  Oracle Responsys (préversion)Oracle Responsys (Preview)
  Oracle Service Cloud (préversion)Oracle Service Cloud (Preview)
  PayPal (préversion)PayPal (Preview)
  QuickBooks (préversion)QuickBooks (Preview)
  SalesforceSalesforce
  Salesforce Service CloudSalesforce Service Cloud
  Salesforce Marketing CloudSalesforce Marketing Cloud
  SAP Cloud for Customer (C4C)SAP Cloud for Customer (C4C)
  SAP ECCSAP ECC
  ServiceNowServiceNow
Liste SharePoint OnlineSharePoint Online List
  Shopify (préversion)Shopify (Preview)
  Square (préversion)Square (Preview)
  Table web (table HTML)Web table (HTML table)
  XeroXero
  Zoho (préversion)Zoho (Preview)

Notes

Si un connecteur est marqué en préversion, vous pouvez l’essayer et nous faire part de vos commentaires.If a connector is marked Preview, you can try it out and give us feedback. Si vous souhaitez établir une dépendance sur les connecteurs en préversion dans votre solution, contactez le support Azure.If you want to take a dependency on preview connectors in your solution, contact Azure support.

Pour plus d’informations, consultez l’article Activité de copie - vue d’ensemble.For more information, see Copy Activity - Overview article.

Activités de transformation des donnéesData transformation activities

Azure Data Factory prend en charge les activités de transformation suivantes, qui peuvent être ajoutées à des pipelines, soit individuellement soit de façon chaînée avec une autre activité.Azure Data Factory supports the following transformation activities that can be added to pipelines either individually or chained with another activity.

Activités de transformation des donnéesData transformation activity Environnement de calculCompute environment
Flux de donnéesData Flow Azure Databricks géré par Azure Data FactoryAzure Databricks managed by Azure Data Factory
Fonction AzureAzure Function Azure FunctionsAzure Functions
HiveHive HDInsight [Hadoop]HDInsight [Hadoop]
PigPig HDInsight [Hadoop]HDInsight [Hadoop]
MapReduceMapReduce HDInsight [Hadoop]HDInsight [Hadoop]
Diffusion en continu HadoopHadoop Streaming HDInsight [Hadoop]HDInsight [Hadoop]
SparkSpark HDInsight [Hadoop]HDInsight [Hadoop]
Activités Azure Machine Learning Studio (classique) : exécution par lot et ressource de mise à jourAzure Machine Learning Studio (classic) activities: Batch Execution and Update Resource Azure VMAzure VM
Procédure stockéeStored Procedure Azure SQL, Azure Synapse Analytics ou SQL ServerAzure SQL, Azure Synapse Analytics, or SQL Server
U-SQLU-SQL Service Analytique Azure Data LakeAzure Data Lake Analytics
Activité personnaliséeCustom Activity Azure BatchAzure Batch
Databricks NotebookDatabricks Notebook Azure DatabricksAzure Databricks
Activité Databricks JarDatabricks Jar Activity Azure DatabricksAzure Databricks
Activité Databricks PythonDatabricks Python Activity Azure DatabricksAzure Databricks

Pour plus d’informations, consultez l’article Activités de transformation des données.For more information, see the data transformation activities article.

Activités de flux de contrôleControl flow activities

Les activités de flux de contrôle suivantes sont prises en charge :The following control flow activities are supported:

Activité de contrôleControl activity DescriptionDescription
Ajouter une variableAppend Variable Ajoutez une valeur à une variable de tableau existante.Add a value to an existing array variable.
Exécuter le pipelineExecute Pipeline L’activité d’exécution du pipeline permet à un pipeline Data Factory d’appeler un autre pipeline.Execute Pipeline activity allows a Data Factory pipeline to invoke another pipeline.
FilterFilter Appliquer une expression de filtre à un tableau d’entréeApply a filter expression to an input array
For EachFor Each L’activité ForEach définit un flux de contrôle répétitif dans votre pipeline.ForEach Activity defines a repeating control flow in your pipeline. Elle permet d’effectuer une itération sur une collection, et exécute des activités spécifiées dans une boucle.This activity is used to iterate over a collection and executes specified activities in a loop. L’implémentation en boucle de cette activité est semblable à la structure d’exécution en boucle de Foreach dans les langages de programmation.The loop implementation of this activity is similar to the Foreach looping structure in programming languages.
Obtenir les métadonnéesGet Metadata L’activité d’obtention des métadonnées peut être utilisée pour récupérer les métadonnées de n’importe quelle donnée dans Azure Data Factory.GetMetadata activity can be used to retrieve metadata of any data in Azure Data Factory.
Activité IfConditionIf Condition Activity L’activité IfCondition peut être utilisée pour créer une branche en fonction de l’évaluation d’une condition par la valeur true ou false.The If Condition can be used to branch based on condition that evaluates to true or false. L’activité IfCondition fournit les mêmes fonctionnalités qu’une instruction «if » dans les langages de programmation.The If Condition activity provides the same functionality that an if statement provides in programming languages. La condition évalue un ensemble d'activités si l'expression renvoie true et un autre ensemble d'activités si elle renvoie false.It evaluates a set of activities when the condition evaluates to true and another set of activities when the condition evaluates to false.
Activité de rechercheLookup Activity L’activité de recherche peut être utilisée pour lire ou rechercher un enregistrement, un nom de table ou une valeur à partir de n’importe quelle source externe.Lookup Activity can be used to read or look up a record/ table name/ value from any external source. Cette sortie peut être référencée par des activités complémentaires.This output can further be referenced by succeeding activities.
Définir une variableSet Variable Récupérez la valeur d'une variable existante.Set the value of an existing variable.
Activité jusqu’àUntil Activity Implémente une boucle Exécuter jusqu’à semblable à la structure Do-Until des langages de programmation.Implements Do-Until loop that is similar to Do-Until looping structure in programming languages. Elle exécute un ensemble d’activités dans une boucle jusqu’à ce que la condition associée à l’activité retourne la valeur true.It executes a set of activities in a loop until the condition associated with the activity evaluates to true. Vous pouvez spécifier une valeur de délai d’attente pour l’activité Until dans Data Factory.You can specify a timeout value for the until activity in Data Factory.
Activité de validationValidation Activity Assurez-vous qu’un pipeline continue l’exécution uniquement si un jeu de données de référence existe, répond à un critère spécifié ou si un délai d’expiration a été atteint.Ensure a pipeline only continues execution if a reference dataset exists, meets a specified criteria, or a timeout has been reached.
Activité d’attenteWait Activity Lorsque vous utilisez une activité Wait dans un pipeline, celui-ci attend pendant la période spécifiée avant de poursuivre l'exécution des activités suivantes.When you use a Wait activity in a pipeline, the pipeline waits for the specified time before continuing with execution of subsequent activities.
Activité WebWeb Activity Une activité web peut être utilisée pour appeler un point de terminaison REST personnalisé à partir d’un pipeline Data Factory.Web Activity can be used to call a custom REST endpoint from a Data Factory pipeline. Vous pouvez transmettre des jeux de données et des services liés que l’activité peut utiliser et auxquels elle peut accéder.You can pass datasets and linked services to be consumed and accessed by the activity.
Activité de WebhookWebhook Activity À l'aide de l'activité de Webhook, appelez un point de terminaison et transmettez une URL de rappel.Using the webhook activity, call an endpoint, and pass a callback URL. L’exécution du pipeline attend que le rappel soit appelé avant de passer à l’activité suivante.The pipeline run waits for the callback to be invoked before proceeding to the next activity.

Pipeline JSONPipeline JSON

Voici comment un pipeline est défini au format JSON :Here is how a pipeline is defined in JSON format:

{
    "name": "PipelineName",
    "properties":
    {
        "description": "pipeline description",
        "activities":
        [
        ],
        "parameters": {
        },
        "concurrency": <your max pipeline concurrency>,
        "annotations": [
        ]
    }
}
TagTag DescriptionDescription TypeType ObligatoireRequired
namename Nom du pipeline.Name of the pipeline. Spécifiez un nom qui représente l’action effectuée par le pipeline.Specify a name that represents the action that the pipeline performs.
  • Nombre maximal de caractères : 140Maximum number of characters: 140
  • Doit commencer par une lettre, un chiffre ou un trait de soulignement (_)Must start with a letter, number, or an underscore (_)
  • Les caractères suivants ne sont pas autorisés : “.”, "+", "?", "/", "<",">","*"," %"," &",":"," "Following characters are not allowed: “.”, "+", "?", "/", "<",">","*"," %"," &",":"," "
StringString OuiYes
descriptiondescription Spécifiez le texte décrivant la raison motivant l’utilisation du pipeline.Specify the text describing what the pipeline is used for. StringString NonNo
activitiesactivities La section Activités peut contenir une ou plusieurs activités définies.The activities section can have one or more activities defined within it. Consultez la section JSON d’activité pour plus d’informations sur l’élément JSON des activités.See the Activity JSON section for details about the activities JSON element. ArrayArray OuiYes
parametersparameters La section Paramètres peut comporter un ou plusieurs des paramètres définis dans le pipeline, afin de rendre votre pipeline plus flexible en vue de sa réutilisation.The parameters section can have one or more parameters defined within the pipeline, making your pipeline flexible for reuse. ListList NonNo
accès concurrentielconcurrency Nombre maximal d’exécutions simultanées que le pipeline peut avoir.The maximum number of concurrent runs the pipeline can have. Par défaut, il n’y a pas de valeur maximale.By default, there is no maximum. Si la limite de simultanéité est atteinte, les nouvelles exécutions du pipeline sont mises en file d'attente jusqu'à ce que les exécutions précédentes soient terminéesIf the concurrency limit is reached, additional pipeline runs are queued until earlier ones complete NumberNumber NonNo
annotationsannotations Liste des balises associées au pipelineA list of tags associated with the pipeline ArrayArray NonNo

Activité JSONActivity JSON

La section Activités peut contenir une ou plusieurs activités définies.The activities section can have one or more activities defined within it. Il existe deux principaux types d’activités : les activités d’exécution et de contrôle.There are two main types of activities: Execution and Control Activities.

Activités d’exécutionExecution activities

Les activités d’exécution incluent le déplacement des données et la transformation des données.Execution activities include data movement and data transformation activities. Elles possèdent la structure de niveau supérieur suivante :They have the following top-level structure:

{
    "name": "Execution Activity Name",
    "description": "description",
    "type": "<ActivityType>",
    "typeProperties":
    {
    },
    "linkedServiceName": "MyLinkedService",
    "policy":
    {
    },
    "dependsOn":
    {
    }
}

Le tableau suivant décrit des propriétés de la définition JSON de l’activité :Following table describes properties in the activity JSON definition:

TagTag DescriptionDescription ObligatoireRequired
namename Nom de l’activité.Name of the activity. Spécifiez un nom qui représente l’action effectuée par l’activité.Specify a name that represents the action that the activity performs.
  • Nombre maximal de caractères : 55Maximum number of characters: 55
  • Doit commencer par une lettre, un chiffre ou un trait de soulignement (_)Must start with a letter-number, or an underscore (_)
  • Les caractères suivants ne sont pas autorisés : « . », « + », « ? », « / », « < », « > », « * », « % », « & », « : », "Following characters are not allowed: “.”, "+", "?", "/", "<",">","*"," %"," &",":"," "
OuiYes
descriptiondescription Texte décrivant la raison motivant l’activité ou son utilisationText describing what the activity or is used for OuiYes
typetype Type de l’activité.Type of the activity. Consultez les sections Activités de déplacement des données, Activités de transformation des données et Activités de contrôle pour en savoir plus sur les différents types d’activités.See the Data Movement Activities, Data Transformation Activities, and Control Activities sections for different types of activities. OuiYes
linkedServiceNamelinkedServiceName Nom du service lié utilisé par l’activité.Name of the linked service used by the activity.

Une activité peut nécessiter que vous spécifiiez le service lié à l’environnement de calcul requis.An activity may require that you specify the linked service that links to the required compute environment.
Oui pour l’activité HDInsight, l’activité de calcul de score du lot Azure Machine Learning Studio (classique) et l’activité de procédure stockée.Yes for HDInsight Activity, Azure Machine Learning Studio (classic) Batch Scoring Activity, Stored Procedure Activity.

Non pour toutes les autresNo for all others
typePropertiestypeProperties Les propriétés de la section typeProperties dépendent de chaque type d’activité.Properties in the typeProperties section depend on each type of activity. Pour afficher les propriétés de type d’une activité, cliquez sur les liens vers l’activité dans la section précédente.To see type properties for an activity, click links to the activity in the previous section. NonNo
policypolicy Stratégies affectant le comportement d’exécution de l’activité.Policies that affect the run-time behavior of the activity. Cette propriété inclut un comportement de délai d'expiration et de nouvelle tentative.This property includes a timeout and retry behavior. Si aucune valeur n'est spécifiée, les valeurs par défaut sont utilisées.If it isn't specified, default values are used. Pour plus d’informations, consultez la section Stratégie d’activité.For more information, see Activity policy section. NonNo
dependsOndependsOn Cette propriété est utilisée pour définir des dépendances des activités, et la manière dont les activités suivantes dépendent des activités précédentes.This property is used to define activity dependencies, and how subsequent activities depend on previous activities. Pour plus d’informations, consultez l’article Dépendance des activitésFor more information, see Activity dependency NonNo

Stratégie d’activitéActivity policy

Les stratégies ont un impact sur le comportement d’exécution d’une activité, et fournissent des options de configuration.Policies affect the run-time behavior of an activity, giving configurability options. Les stratégies d’activité sont uniquement disponibles pour les activités d’exécution.Activity Policies are only available for execution activities.

Définition de la JSON Stratégie d’activitéActivity policy JSON definition

{
    "name": "MyPipelineName",
    "properties": {
      "activities": [
        {
          "name": "MyCopyBlobtoSqlActivity",
          "type": "Copy",
          "typeProperties": {
            ...
          },
         "policy": {
            "timeout": "00:10:00",
            "retry": 1,
            "retryIntervalInSeconds": 60,
            "secureOutput": true
         }
        }
      ],
        "parameters": {
           ...
        }
    }
}
Nom JSONJSON name DescriptionDescription Valeurs autoriséesAllowed Values ObligatoireRequired
délai d'expirationtimeout Spécifie le délai d’expiration d’exécution de l’activité.Specifies the timeout for the activity to run. TimespanTimespan Non.No. Le délai d’expiration par défaut est de 7 jours.Default timeout is 7 days.
retryretry Nombre maximal de nouvelles tentativesMaximum retry attempts IntegerInteger Non.No. La valeur par défaut est 0Default is 0
retryIntervalInSecondsretryIntervalInSeconds Délai en secondes entre chaque nouvelle tentativeThe delay between retry attempts in seconds IntegerInteger Non.No. La valeur par défaut est de 30 secondesDefault is 30 seconds
secureOutputsecureOutput Lorsqu'elle est définie sur true, la sortie de l'activité est considérée comme sécurisée et n'est pas consignée pour la surveillance.When set to true, the output from activity is considered as secure and aren't logged for monitoring. BooleanBoolean Non.No. La valeur par défaut est false.Default is false.

Activité de contrôleControl activity

Les activités de contrôle ont la structure de niveau supérieur suivante :Control activities have the following top-level structure:

{
    "name": "Control Activity Name",
    "description": "description",
    "type": "<ActivityType>",
    "typeProperties":
    {
    },
    "dependsOn":
    {
    }
}
TagTag DescriptionDescription ObligatoireRequired
namename Nom de l’activité.Name of the activity. Spécifiez un nom qui représente l’action effectuée par l’activité.Specify a name that represents the action that the activity performs.
  • Nombre maximal de caractères : 55Maximum number of characters: 55
  • Doit commencer par une lettre, un chiffre ou un trait de soulignement (_)Must start with a letter number, or an underscore (_)
  • Les caractères suivants ne sont pas autorisés : « . », « + », « ? », « / », « < », « > », « * », « % », « & », « : », "Following characters are not allowed: “.”, "+", "?", "/", "<",">","*"," %"," &",":"," "
OuiYes
    descriptiondescription Texte décrivant la raison motivant l’activité ou son utilisationText describing what the activity or is used for OuiYes
    typetype Type de l’activité.Type of the activity. Consultez les sections Activités de déplacement des données, Activités de transformation des données et Activités de contrôle pour en savoir plus sur les différents types d’activités.See the data movement activities, data transformation activities, and control activities sections for different types of activities. OuiYes
    typePropertiestypeProperties Les propriétés de la section typeProperties dépendent de chaque type d’activité.Properties in the typeProperties section depend on each type of activity. Pour afficher les propriétés de type d’une activité, cliquez sur les liens vers l’activité dans la section précédente.To see type properties for an activity, click links to the activity in the previous section. NonNo
    dependsOndependsOn Cette propriété est utilisée pour définir la dépendance des activités, et la manière dont les activités suivantes dépendent des activités précédentes.This property is used to define Activity Dependency, and how subsequent activities depend on previous activities. Pour plus d’informations, consultez l’article Dépendance des activités.For more information, see activity dependency. NonNo

    Dépendance des activitésActivity dependency

    La dépendance des activités définit la manière dont les activités ultérieures dépendent des activités antérieures, et détermine ainsi s'il faut poursuivre l'exécution de la tâche suivante.Activity Dependency defines how subsequent activities depend on previous activities, determining the condition of whether to continue executing the next task. Une activité peut dépendre d’une ou de plusieurs activités précédentes avec différentes conditions de dépendance.An activity can depend on one or multiple previous activities with different dependency conditions.

    Les différentes conditions de dépendance sont : Réussite, Échec, Ignoré, Terminé.The different dependency conditions are: Succeeded, Failed, Skipped, Completed.

    Par exemple, si un pipeline contient Activité A -> Activité B, les différents scénarios qui peuvent se produire sont les suivants :For example, if a pipeline has Activity A -> Activity B, the different scenarios that can happen are:

    • L’Activité B a une condition de dépendance envers l’Activité A avec Réussite : L’Activité B s’exécute uniquement si l’Activité A présente l’état final Réussite.Activity B has dependency condition on Activity A with succeeded: Activity B only runs if Activity A has a final status of succeeded
    • L’Activité B a une condition de dépendance envers l’Activité A avec Échec : L’Activité B s’exécute uniquement si l’Activité A présente l’état final Échec.Activity B has dependency condition on Activity A with failed: Activity B only runs if Activity A has a final status of failed
    • L’Activité B a une condition de dépendance envers l’Activité A avec Terminé : L’Activité B s’exécute si l’Activité A présente l’état final Réussite ou Échec.Activity B has dependency condition on Activity A with completed: Activity B runs if Activity A has a final status of succeeded or failed
    • L'Activité B a une condition de dépendance envers l'Activité A avec Ignoré : L’Activité B s’exécute si l’Activité A présente l’état final Ignoré.Activity B has a dependency condition on Activity A with skipped: Activity B runs if Activity A has a final status of skipped. Ignoré se produit dans le scénario Activité X -> Activité Y -> Activité Z, où chaque activité s’exécute uniquement si l’activité précédente réussit.Skipped occurs in the scenario of Activity X -> Activity Y -> Activity Z, where each activity runs only if the previous activity succeeds. Si l'Activité X échoue, l'Activité Y prend l'état « Ignoré » car elle ne s'exécute jamais.If Activity X fails, then Activity Y has a status of "Skipped" because it never executes. De même, l'Activité Z présente également l'état « Ignoré ».Similarly, Activity Z has a status of "Skipped" as well.

    Exemple : L’Activité 2 dépend de la réussite de l’Activité 1Example: Activity 2 depends on the Activity 1 succeeding

    {
        "name": "PipelineName",
        "properties":
        {
            "description": "pipeline description",
            "activities": [
             {
                "name": "MyFirstActivity",
                "type": "Copy",
                "typeProperties": {
                },
                "linkedServiceName": {
                }
            },
            {
                "name": "MySecondActivity",
                "type": "Copy",
                "typeProperties": {
                },
                "linkedServiceName": {
                },
                "dependsOn": [
                {
                    "activity": "MyFirstActivity",
                    "dependencyConditions": [
                        "Succeeded"
                    ]
                }
              ]
            }
          ],
          "parameters": {
           }
        }
    }
    
    

    Exemple de pipeline de copieSample copy pipeline

    Dans l’exemple de pipeline suivant, il existe une activité de type Copy in the d’activités .In the following sample pipeline, there is one activity of type Copy in the activities section. Dans cet exemple, l’activité de copie copie des données d’un stockage Blob Azure vers une base de données dans Azure SQL Database.In this sample, the copy activity copies data from an Azure Blob storage to a database in Azure SQL Database.

    {
      "name": "CopyPipeline",
      "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": {
              "retry": 2,
              "timeout": "01:00:00"
            }
          }
        ]
      }
    }
    

    Notez les points suivants :Note the following points:

    • 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.
    • 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. Consultez l’article Jeux de données pour en savoir plus sur la définition de jeux de données dans JSON.See Datasets article for defining datasets in JSON.
    • 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. Dans la section Activités de déplacement des données, cliquez sur le magasin de données que vous souhaitez utiliser comme source ou récepteur pour en savoir plus sur le déplacement des données vers/depuis ce magasin de données.In the data movement activities section, click the data store that you want to use as a source or a sink to learn more about moving data to/from that data store.

    Pour obtenir une description complète de la création de ce pipeline, consultez l’article Démarrage rapide : créer une fabrique de données.For a complete walkthrough of creating this pipeline, see Quickstart: create a data factory.

    Exemple de pipeline de transformationSample transformation pipeline

    Dans l’exemple de pipeline suivant, il existe une activité de type HDInsightHive in the d’activités .In the following sample pipeline, there is one activity of type HDInsightHive in the activities section. Dans cet exemple, l’activité Hive HDInsight transforme les données d’un stockage blob Azure en exécutant un fichier de script Hive sur un cluster Hadoop Azure HDInsight.In this sample, the HDInsight Hive activity transforms data from an Azure Blob storage by running a Hive script file on an Azure HDInsight Hadoop cluster.

    {
        "name": "TransformPipeline",
        "properties": {
            "description": "My first Azure Data Factory pipeline",
            "activities": [
                {
                    "type": "HDInsightHive",
                    "typeProperties": {
                        "scriptPath": "adfgetstarted/script/partitionweblogs.hql",
                        "scriptLinkedService": "AzureStorageLinkedService",
                        "defines": {
                            "inputtable": "wasb://adfgetstarted@<storageaccountname>.blob.core.windows.net/inputdata",
                            "partitionedtable": "wasb://adfgetstarted@<storageaccountname>.blob.core.windows.net/partitioneddata"
                        }
                    },
                    "inputs": [
                        {
                            "name": "AzureBlobInput"
                        }
                    ],
                    "outputs": [
                        {
                            "name": "AzureBlobOutput"
                        }
                    ],
                    "policy": {
                        "retry": 3
                    },
                    "name": "RunSampleHiveActivity",
                    "linkedServiceName": "HDInsightOnDemandLinkedService"
                }
            ]
        }
    }
    

    Notez les points suivants :Note the following points:

    • Dans la section des activités, il existe une seule activité dont le type a la valeur HDInsightHive.In the activities section, there is only one activity whose type is set to HDInsightHive.
    • Le fichier de script Hive, partitionweblogs.hql, est stocké sur le compte de stockage Azure (spécifié par le service scriptLinkedService, appelé AzureStorageLinkedService) et dans le dossier de scripts du conteneur adfgetstarted.The Hive script file, partitionweblogs.hql, is stored in the Azure Storage account (specified by the scriptLinkedService, called AzureStorageLinkedService), and in script folder in the container adfgetstarted.
    • La section defines est utilisée pour spécifier les paramètres d’exécution transmis au script Hive comme valeurs de configuration Hive (p. ex. ${hiveconf:inputtable}, ${hiveconf:partitionedtable}).The defines section is used to specify the runtime settings that are passed to the hive script as Hive configuration values (for example, ${hiveconf:inputtable}, ${hiveconf:partitionedtable}).

    La section typeProperties est différente pour chaque activité de transformation.The typeProperties section is different for each transformation activity. Pour en savoir plus sur les propriétés de type prises en charge pour une activité de transformation, cliquez sur l’activité de transformation dans la table Activités de transformation des données.To learn about type properties supported for a transformation activity, click the transformation activity in the Data transformation activities.

    Pour obtenir une description complète de la création de ce pipeline, consultez l’article Didacticiel : transformation des données à l’aide de Spark.For a complete walkthrough of creating this pipeline, see Tutorial: transform data using Spark.

    Plusieurs activités à l’intérieur d’un pipelineMultiple activities in a pipeline

    Les deux exemples de pipelines précédents ne contiennent qu’une seule activité.The previous two sample pipelines have only one activity in them. Un pipeline peut toutefois contenir plusieurs activités.You can have more than one activity in a pipeline. Si un pipeline contient plusieurs activités et que les activités suivantes ne sont pas dépendantes d’activités précédentes, les activités peuvent s’exécuter en parallèle.If you have multiple activities in a pipeline and subsequent activities are not dependent on previous activities, the activities may run in parallel.

    Vous pouvez enchaîner deux activités à l’aide de la dépendance des activités, qui définit la manière dont les activités suivantes dépendent des activités précédentes, et détermine ainsi s’il faut poursuivre l’exécution de la tâche suivante.You can chain two activities by using activity dependency, which defines how subsequent activities depend on previous activities, determining the condition whether to continue executing the next task. Une activité peut dépendre d’une ou de plusieurs activités précédentes avec différentes conditions de dépendance.An activity can depend on one or more previous activities with different dependency conditions.

    Planification des pipelinesScheduling pipelines

    Les pipelines sont planifiés par des déclencheurs.Pipelines are scheduled by triggers. Il existe différents types de déclencheurs (le déclencheur Scheduler, qui permet de déclencher les pipelines selon un planning horaire, ainsi que le déclencheur manuel, qui déclenche les pipelines à la demande).There are different types of triggers (Scheduler trigger, which allows pipelines to be triggered on a wall-clock schedule, as well as the manual trigger, which triggers pipelines on-demand). Pour plus d’informations sur les déclencheurs, consultez l’article Exécution de pipelines et déclencheurs.For more information about triggers, see pipeline execution and triggers article.

    Pour que votre déclencheur lance l’exécution d’un pipeline, vous devez inclure une référence à ce pipeline spécifique dans la définition du déclencheur.To have your trigger kick off a pipeline run, you must include a pipeline reference of the particular pipeline in the trigger definition. Les pipelines et les déclencheurs ont une relation n-m.Pipelines & triggers have an n-m relationship. Plusieurs déclencheurs peuvent lancer un même pipeline, et un même déclencheur peut lancer plusieurs pipelines.Multiple triggers can kick off a single pipeline, and the same trigger can kick off multiple pipelines. Une fois que le déclencheur est défini, vous devez le démarrer pour qu’il commence à déclencher le pipeline.Once the trigger is defined, you must start the trigger to have it start triggering the pipeline. Pour plus d’informations sur les déclencheurs, consultez l’article Exécution de pipelines et déclencheurs.For more information about triggers, see pipeline execution and triggers article.

    Imaginons, par exemple, un déclencheur Scheduler, « Déclencheur A », que je souhaite supprimer de mon pipeline « MyCopyPipeline ».For example, say you have a Scheduler trigger, "Trigger A," that I wish to kick off my pipeline, "MyCopyPipeline." Vous définissez le déclencheur comme indiqué dans l'exemple suivant :You define the trigger, as shown in the following example:

    Définition du déclencheur ATrigger A definition

    {
      "name": "TriggerA",
      "properties": {
        "type": "ScheduleTrigger",
        "typeProperties": {
          ...
          }
        },
        "pipeline": {
          "pipelineReference": {
            "type": "PipelineReference",
            "referenceName": "MyCopyPipeline"
          },
          "parameters": {
            "copySourceName": "FileSource"
          }
        }
      }
    }
    

    Étapes suivantesNext steps

    Consultez les didacticiels suivants pour obtenir des instructions pas à pas de création de pipelines avec des activités :See the following tutorials for step-by-step instructions for creating pipelines with activities: