将值从父管道传递到Azure数据工厂中的子管道

时间:2019-03-24 03:11:43

标签: azure azure-data-factory

我很确定这很简单,但是我似乎在任何地方都找不到。我在数据工厂的父管道(例如管道名称为TestParent)中创建了一个参数:

enter image description here 该父管道调用子管道。我想在子管道中引用此参数。从子级的父级获取此参数的值的语法是什么?

1 个答案:

答案 0 :(得分:1)

好吧,我终于明白了:

我从父管道中完全删除了该参数。在子管道(称为HubMaster)中,我们创建一个名为MasterBatchId的参数:

enter image description here

在父管道中,我创建了一个名为EP_HubMaster的Execute pipeline节点,该节点调用了称为HubMaster的子管道。为了在运行时填充子管道参数MasterBatchId,我们需要编辑父管道的JSON,如下所示:

{
"name": "TestParent",
"properties": {
    "activities": [
        {
            "name": "EP_HubMaster",
            "type": "ExecutePipeline",
            "typeProperties": {
                "pipeline": {
                    "referenceName": "HubMaster",
                    "type": "PipelineReference"
                },
                "parameters": {
                    "MasterBatchId": {
                        "value": "@pipeline().RunId",
                        "type": "Expression"
                    }
                }
            }
        }
    ],
    "folder": {
        "name": "Master"
    }
},
"type": "Microsoft.DataFactory/factories/pipelines"
}

您可以看到我们将@pipeline().RunId从父级(原来是意图)传递到子管道中的MasterBatchId的输入参数。