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.
Gå till redigeringsarbetsytan och redigera en pipeline
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
Välj avsnittet Parametrar och välj + Ny för att lägga till parametrar
Lägg till utlösare i pipelinen genom att klicka på + Utlösare.
Skapa eller koppla en utlösare till pipelinen och välj OK
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.
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.
Relaterat innehåll
Detaljerad information om utlösare finns i Pipelinekörning och utlösare.