Передача значений из родительского конвейера в дочерний конвейер на фабрике данных Azure

#azure #azure-data-factory

#azure #azure-data-factory

Вопрос:

Я почти уверен, что это просто, но, похоже, я нигде не могу этого найти. Я создал параметр в родительском конвейере (скажем, имя конвейера — TestParent) на фабрике данных:

введите описание изображения здесь Этот родительский конвейер вызывает дочерний конвейер. Я хочу ссылаться на этот параметр в дочернем конвейере. Каков синтаксис для получения значения этого параметра от родительского в дочернем?

Ответ №1:

Хорошо, я наконец-то заставил это работать:

Я полностью удалил параметр из родительского конвейера. В дочернем конвейере (который называется HubMaster) мы создаем параметр с именем MasterBatchId:

введите описание изображения здесь

В родительском конвейере я создал узел конвейера выполнения с именем EP_HubMaster, который вызывает дочерний конвейер с именем 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 дочернего конвейера.

Комментарии:

1. Что означает, что вам нужно редактировать файл JSON каждый раз при его запуске? Как это будет работать в режиме CI / CD?