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 starttid för utlösare, kan användas vid pipelinekörning.

Pipeline behöver ibland förstå och läsa metadata från utlösare som anropar den. När utlösaren för rullande fönster körs, baserat på start- och sluttid för fönster, bearbetas olika datasektorer eller mappar i pipelinen. I Azure Data Factory använder vi parameterisering och systemvariabel för att skicka metadata från utlösare till pipeline.

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

Kommentar

Olika utlösartyper innehåller olika metadatainformation. Mer information finns i Systemvariabel

Data Factory-användargränssnitt

Det här avsnittet visar hur du skickar metadatainformation från utlösare till pipeline i Användargränssnittet för Azure Data Factory.

  1. Gå till redigeringsarbetsytan och redigera en pipeline

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

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

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

  4. Lägg till utlösare i pipelinen genom att klicka på + 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 format som definierats i systemvariabeln för att hämta utlösarinformation. Du behöver inte fylla i informationen för alla parametrar, bara de som förutsätter utlösande metadatavärden. Här tilldelar vi till exempel starttid för utlösare till parameter_1.

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

  7. Om du vill använda värdena i pipeline använder du parametrarna @pipeline().parameters.parameterName, inte systemvariabeln, i pipelinedefinitioner. I vårt fall ska vi till exempel referera @pipeline().parameters.parameter_1till för att läsa starttiden för utlösaren .

JSON-schema

För att skicka in utlösarinformation till pipelinekörningar måste både utlösaren och pipeline-json uppdateras med parameteravsnittet .

Pipelinedefinition

Under avsnittet Egenskaper lägger du till parameterdefinitioner i parameteravsnittet

{
    "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 parametrar . Du behöver inte fylla i informationen för alla parametrar, bara 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 pipeline

Om du vill använda värdena i pipeline använder du parametrarna @pipeline().parameters.parameterName, inte systemvariabeln, i pipelinedefinitioner.

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