传递一个管道运行的输出并用作另一管道中的参数

Cra*_*lle 7 azure-data-factory

我的 ADF 设置当前的工作方式是,我有多个管道,每个管道至少包含一个活动。然后我有一个大管道将这些管道链接在一起。

但是,现在在大型“主”管道中,我想使用一个管道中活动的输出,然后将其传递到另一个管道。所有这一切都是由“主”管道精心策划的。

我的“主”管道看起来像这样:

在此输入图像描述

我尝试做的是将参数添加到“执行管道2”,并且我尝试传递:

@activity('Execute Pipeline1').output.pipeline.runId.output.runOutput
@activity('Execute Pipeline1').output.pipelineRunId.output.runOutput
@activity('Execute Pipeline1').output.runOutput
Run Code Online (Sandbox Code Playgroud)

人们会如何去做这件事呢?

小智 5

不幸的是,我们没有办法跨管道传递活动的输出。目前管道没有输出(只有活动)。我们有一个工作项,允许用户选择管道的输出(想象一个具有 40 个活动的管道,用户将能够选择活动 3 的输出作为管道输出)。然而,该工作项目还处于非常早期的阶段,因此不要指望很快就会看到这一点。

目前,唯一的方法是将所需的输出保存在存储中(例如 blob),然后读取它并将其传递到其他管道。另一种方法可能是一个 Web 活动,该活动获取管道运行(传递运行 ID),您使用 ADF SDK 或 REST API 获取输出,然后将其传递给下一个执行管道活动。