是否有一种方法可以在活动“执行管道”中引用已执行管道的输出?
即:主流水线依次执行2条流水线,第一条流水线生成自己创建的run_id,需要作为参数转发给第二条流水线。
我已经阅读了文档,并检查了主管道记录第一个管道的输出,但看起来这不是直接可能的?
到目前为止,我们只使用了2个没有主管道的管道,但我们希望更多地重用逻辑。目前我们有1个管道调用下一个管道并转发run_id。
更新2023-03-31截至2023年初,我们可以通过使用新引入的系统变量'Pipeline Return Value'从管道中输出。
官方文件在这里:https://learn.microsoft.com/en-us/azure/data-factory/tutorial-pipeline-return-value
2条答案
按热度按时间jgwigjjp1#
ExecutePipline当前无法从其内部向其输出传递任何内容。您只能获取runID或名称。
由于一些奇怪的原因,ExecutePipeline的输出不是作为JSON对象返回,而是作为字符串返回。因此,如果您尝试选择输出的属性,如
@activity('ExecutePipelineActivityName').output.something
,则会得到以下错误:我发现我必须使用以下代码来获取运行ID:
@json(activity('ExecutePipelineActivityName').output).pipelineRunId
gwo2fgha2#
execute pipeline活动只是另一个活动,其输出可由其他活动捕获。https://learn.microsoft.com/en-us/azure/data-factory/control-flow-execute-pipeline-activity#type-properties
如果你想使用以前执行的管道的runId,它看起来像这样:
希望这有帮助!