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.
Gå till Redigeringsarbetsytan och redigera en pipeline.
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.
Välj fliken Parametrar och välj + Ny för att lägga till parametrar.
Lägg till utlösare i pipelinen genom att välja + 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 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
.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_1
till 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.
Relaterat innehåll
Mer information om utlösare finns i Pipelinekörning och utlösare.