Partage via


Référencer des métadonnées de déclencheur dans des exécutions de pipeline

S’APPLIQUE À : Azure Data Factory Azure Synapse Analytics

Conseil

Essayez Data Factory dans Microsoft Fabric, une solution d’analyse tout-en-un pour les entreprises. Microsoft Fabric couvre tous les aspects, du déplacement des données à la science des données, en passant par l’analyse en temps réel, l’aide à la décision et la création de rapports. Découvrez comment démarrer un nouvel essai gratuitement !

Cet article décrit comment les métadonnées du déclencheur, telles que l’heure de début du déclencheur, peuvent être utilisées dans une exécution de pipeline.

Un pipeline doit parfois comprendre et lire les métadonnées à partir du déclencheur qui l’appelle. Par exemple, avec une exécution de déclencheur de fenêtre bascule, en fonction de l’heure de début et de fin de la fenêtre, le pipeline traite différentes tranches de données ou dossiers. Dans Azure Data Factory, nous utilisons le paramétrage et les variables système pour transmettre les métadonnées des déclencheurs aux pipelines.

Ce modèle est particulièrement utile pour les déclencheurs de fenêtre bascule, où le déclencheur fournit l’heure de début et de fin de la fenêtre, et les déclencheurs d’événements personnalisés, où le déclencheur analyse et traite les valeurs dans une champde données.

Remarque

Différents types de déclencheurs fournissent des informations de métadonnées différentes. Pour plus d’informations, consultez Variables système.

IU de la fabrique de données

Cette section vous montre comment transmettre des informations de métadonnées à partir de déclencheurs vers des pipelines, dans l’interface utilisateur de Data Factory.

  1. Accéder au Canevas de création et modifier un pipeline.

  2. Sélectionnez le canevas vide pour afficher les paramètres de pipeline. Ne sélectionnez aucune activité. Vous devrez peut-être extraire le volet de configuration en bas du canevas, car il peut être réduit.

  3. Sélectionnez l’onglet Paramètres, puis sélectionnez + Nouveau pour ajouter des paramètres.

    Capture d’écran montrant un paramètre de pipeline montrant comment définir des paramètres dans un pipeline.

  4. Ajoutez des déclencheurs au pipeline en sélectionnant + Déclencheur.

  5. Créez ou joignez un déclencheur au pipeline, puis sélectionnez OK.

  6. Après avoir sélectionné OK, une autre page Nouveau déclencheur s’affiche avec une liste des paramètres spécifiés pour le pipeline, comme illustré dans la capture d’écran suivante. Dans cette page, renseignez les métadonnées du déclencheur pour chaque paramètre. Utilisez le format défini dans les variables système pour récupérer des informations de déclencheur. Vous n’avez pas besoin de renseigner les informations de tous les paramètres. Renseignez simplement ceux qui supposent des valeurs de métadonnées de déclencheur. Par exemple, ici, nous affectons l’heure de début de l’exécution du déclencheur à parameter_1.

    Capture d’écran montrant la page Paramètres d’exécution du déclencheur montrant comment transmettre des informations de déclencheur aux paramètres de pipeline.

  7. Pour utiliser les valeurs dans le pipeline, utilisez des paramètres, comme @pipeline().parameters.parameterName, pas variables système, dans les définitions de pipeline. Par exemple, dans ce cas, pour lire l’heure de début du déclencheur, nous faisons référence @pipeline().parameters.parameter_1.

Schéma JSON

Pour transmettre des informations de déclencheur aux exécutions de pipeline, le déclencheur et le JSON du pipeline doivent être mis à jour avec la section parameters.

Définition de pipeline

Dans la section properties, ajoutez des définitions de paramètres à la section parameters.

{
    "name": "demo_pipeline",
    "properties": {
        "activities": [
            {
                "name": "demo_activity",
                "type": "WebActivity",
                "dependsOn": [],
                "policy": {
                    "timeout": "7.00:00:00",
                    "retry": 0,
                    "retryIntervalInSeconds": 30,
                    "secureOutput": false,
                    "secureInput": false
                },
                "userProperties": [],
                "typeProperties": {
                    "url": {
                        "value": "@pipeline().parameters.parameter_2",
                        "type": "Expression"
                    },
                    "method": "GET"
                }
            }
        ],
        "parameters": {
            "parameter_1": {
                "type": "string"
            },
            "parameter_2": {
                "type": "string"
            },
            "parameter_3": {
                "type": "string"
            },
            "parameter_4": {
                "type": "string"
            },
            "parameter_5": {
                "type": "string"
            }
        },
        "annotations": [],
        "lastPublishTime": "2021-02-24T03:06:23Z"
    },
    "type": "Microsoft.DataFactory/factories/pipelines"
}

Définition du déclencheur

Sous la section pipelines, affectez des valeurs de paramètre dans la section parameters. Vous n’avez pas besoin de renseigner les informations de tous les paramètres. Renseignez simplement ceux qui supposent des valeurs de métadonnées de déclencheur.

{
    "name": "trigger1",
    "properties": {
        "annotations": [],
        "runtimeState": "Started",
        "pipelines": [
            {
                "pipelineReference": {
                    "referenceName": "demo_pipeline",
                    "type": "PipelineReference"
                },
                "parameters": {
                    "parameter_1": "@trigger().startTime"
                }
            }
        ],
        "type": "ScheduleTrigger",
        "typeProperties": {
            "recurrence": {
                "frequency": "Minute",
                "interval": 15,
                "startTime": "2021-03-03T04:38:00Z",
                "timeZone": "UTC"
            }
        }
    }
}

Utiliser des informations de déclencheur dans un pipeline

Pour utiliser les valeurs dans une pipeline, utilisez des paramètres, comme @pipeline().parameters.parameterName, pas variables système, dans les définitions de pipeline.

Pour plus d’informations sur les déclencheurs, consultez Exécution de pipelines et déclencheurs.