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

Pass output from one pipeline run and use as parameter in another pipeline

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

但是,现在在大 "master" 管道中,我想使用来自一个管道的 activity 的输出,然后将其传递到另一个管道。所有这一切都是从 "master" 管道中精心策划的。

我的 "master" 管道看起来像这样:

我尝试做的是向 "Execute Pipeline2" 添加一个参数,我尝试传递:

@activity('Execute Pipeline1').output.pipeline.runId.output.runOutput
@activity('Execute Pipeline1').output.pipelineRunId.output.runOutput
@activity('Execute Pipeline1').output.runOutput

如何做这件事?

不幸的是,我们没有办法跨管道传递 activity 的输出。现在管道没有输出(只有活动)。 我们有一个工作项,允许用户选择管道的输出(想象一个有 40 个活动的管道,用户可以选择 activity 3 的输出作为管道输出)。但是,这个工作项目还处于非常早期的阶段,所以不要指望很快就能看到。

目前,唯一的方法是将您想要的输出保存在存储中(例如 blob),然后读取它并将其传递给其他管道。另一种方法可能是获取管道 运行(传递 运行 id)的网络 activity,然后您使用 ADF SDK 或 REST API 获取输出,然后传递它到下一个执行管道 activity.