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 de déclencheur, telles que l’heure de début du déclencheur, peuvent être utilisées dans l’exécution du pipeline.

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

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

Notes

Un type de déclencheur différent fournit des informations de métadonnées différentes. Pour plus d’informations, consultez Variable système

IU de la fabrique de données

Cette section vous montre comment transmettre les informations de métadonnées d’un déclencheur à un pipeline, dans l’interface utilisateur du Azure 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 du pipeline. Ne sélectionnez aucune activité. Vous devrez peut-être extraire le panneau de paramètres du bas du canevas, car il a peut-être été réduit

  3. Sélectionnez la section Paramètres et sélectionnez + Nouveau pour ajouter des paramètres

    Screen shot of pipeline setting showing how to define parameters in pipeline.

  4. Ajoutez des déclencheurs au pipeline en cliquant sur + 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 la liste des paramètres spécifiés pour le pipeline, comme illustré dans la capture d’écran suivante. Dans ladite page, renseignez les métadonnées de déclencheur pour chaque paramètre. Utilisez le format défini dans la Variable système pour récupérer les informations du déclencheur. Vous n’avez pas besoin de renseigner les informations pour tous les paramètres, mais uniquement ceux qui supposent des valeurs de métadonnées de déclencheur. Par exemple, nous attribuons ici l’heure de début de l’exécution du déclencheur à parameter_1.

    Screenshot of trigger definition page showing how to pass trigger information to pipeline parameters.

  7. Pour utiliser les valeurs du pipeline, utilisez les paramètres @pipeline().parameters.parameterName, et pas la variable système située dans les définitions de pipeline. Par exemple, dans notre cas, pour lire l’heure de début du déclencheur, nous allons référencer @pipeline().parameters.parameter_1.

Schéma JSON

Pour transmettre les informations de déclencheur aux exécutions de pipeline, le déclencheur et le fichier json du pipeline doivent être mis à jour avec la section Paramètres.

Définition de pipeline

Sous la section Propriétés, ajoutez les définitions de paramètres à la section Paramètres

{
    "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, attribuez des valeurs de paramètre dans la section Paramètres. Vous n’avez pas besoin de renseigner les informations pour tous les paramètres, mais uniquement 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 les informations de déclencheur dans le pipeline

Pour utiliser les valeurs du pipeline, utilisez les paramètres @pipeline().parameters.parameterName, et pas la variable système située dans les définitions de pipeline.

Vous trouverez des informations détaillées sur les déclencheurs sur la page Exécution de pipelines et déclencheurs.