Referensutlösarmetadata i pipelinekörningar

GÄLLER FÖR: Azure Data Factory Azure Synapse Analytics

Dricks

Prova Data Factory i Microsoft Fabric, en allt-i-ett-analyslösning för företag. Microsoft Fabric omfattar allt från dataflytt till datavetenskap, realtidsanalys, business intelligence och rapportering. Lär dig hur du startar en ny utvärderingsversion kostnadsfritt!

Den här artikeln beskriver hur utlösarmetadata, till exempel starttiden för utlösaren, kan användas i en pipelinekörning.

En pipeline behöver ibland förstå och läsa metadata från utlösaren som anropar den. Till exempel, med en rullande fönsterutlösare som körs, baserat på fönstrets start- och sluttid, bearbetar pipelinen olika datasektorer eller mappar. I Azure Data Factory använder vi parameterisering och systemvariabler för att skicka metadata från utlösare till pipelines.

Det här mönstret är särskilt användbart för utlösare för rullande fönster, där utlösaren tillhandahåller start- och sluttid för fönstret och anpassade händelseutlösare, där utlösaren parsar och bearbetar värden i ett anpassat definierat datafält.

Kommentar

Olika utlösartyper ger olika metadatainformation. Mer information finns i Systemvariabler.

Data Factory-användargränssnitt

Det här avsnittet visar hur du skickar metadatainformation från utlösare till pipelines i användargränssnittet (UI) för Data Factory.

  1. Gå till Redigeringsarbetsytan och redigera en pipeline.

  2. Välj den tomma arbetsytan för att visa pipelineinställningar. Välj inte någon aktivitet. Du kan behöva hämta inställningsfönstret längst ned på arbetsytan eftersom det kan vara komprimerat.

  3. Välj fliken Parametrar och välj + Ny för att lägga till parametrar.

    Skärmbild som visar en pipelineinställning som visar hur du definierar parametrar i en pipeline.

  4. Lägg till utlösare i pipelinen genom att välja + Utlösare.

  5. Skapa eller koppla en utlösare till pipelinen och välj OK.

  6. När du har valt OK visas en annan ny utlösarsida med en lista över de parametrar som angetts för pipelinen, enligt följande skärmbild. På den sidan fyller du i utlösarmetadata för varje parameter. Använd formatet som definierats i Systemvariabler för att hämta utlösarinformation. Du behöver inte fylla i informationen för alla parametrar. Fyll bara i de som förutsätter utlösande metadatavärden. Här tilldelar vi till exempel starttiden för utlösarens körning till parameter_1.

    Skärmbild som visar sidan Parametrar för körning av utlösare som visar hur du skickar utlösarinformation till pipelineparametrar.

  7. Om du vill använda värdena i pipelinen använder du parametrar, till exempel @pipeline().parameters.parameterName, inte systemvariabler, i pipelinedefinitioner. I det här fallet refererar vi @pipeline().parameters.parameter_1till för att läsa starttiden för utlösaren .

JSON-schema

Om du vill skicka in utlösarinformation till pipelinekörningar måste både utlösaren och pipeline-JSON uppdateras med avsnittet parameters .

Pipelinedefinition

Under avsnittet properties lägger du till parameterdefinitioner i avsnittet 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"
}

Utlösardefinition

Under avsnittet pipelines tilldelar du parametervärden i avsnittet parameters . Du behöver inte fylla i informationen för alla parametrar. Fyll bara i de som förutsätter utlösande metadatavärden.

{
    "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"
            }
        }
    }
}

Använda utlösarinformation i en pipeline

Om du vill använda värdena i en pipeline använder du parametrar som @pipeline().parameters.parameterName, inte systemvariabler, i pipelinedefinitioner.

Mer information om utlösare finns i Pipelinekörning och utlösare.