Azure数据工厂v2:活动执行管道输出

时间:2018-11-21 12:50:59

标签: azure-data-factory-2

在“执行管道”活动中是否可以捕获已执行管道的输出?

即:主管道按顺序执行2个管道。第一个管道会生成自己创建的run_id,需要将其作为参数转发给第二个管道。

我已经阅读了文档,并在主管道日志中检查了第一个管道的输出,看来这不可能直接实现?

到目前为止,我们仅使用了2条没有主管道的管道,但是我们想更多地重用逻辑。当前,我们有1个管道调用下一个管道并转发run_id。

2 个答案:

答案 0 :(得分:2)

ExecutePipline当前无法将任何内容从内部传递到其输出。您只能获取runID或名称。

由于某些奇怪的原因,ExecutePipeline的输出不是作为JSON对象而是作为字符串返回。因此,如果您尝试选择类似@activity('ExecutePipelineActivityName').output.something这样的输出属性,则会出现此错误:

“字符串”类型的值不支持属性选择

我发现我必须使用以下命令来获取运行ID: @json(activity('ExecutePipelineActivityName').output).pipelineRunId

答案 1 :(得分:0)

execute管道活动只是另一个活动,其输出可以被其他活动捕获。 https://docs.microsoft.com/en-us/azure/data-factory/control-flow-execute-pipeline-activity#type-properties

如果您要使用预先执行的管道的runId,它将看起来像这样:

@activity('ExecutePipelineActivityName').output.pipeline.runId

希望这对您有帮助!