Azure 数据工厂:如何在另一个管道成功完成后触发管道

Azure Data Factory: How to trigger a pipeline after another pipeline completed successfully

在 Azure 数据工厂中,如何在其他管道成功完成后触发管道?

详细:

我试图在其他管道成功完成后触发 SSIS 包。我已经知道我可以将我的 SSIS 包保存为管道,并 运行 它像其他管道一样使用触发器。但是如何确保 SSIS 包管道仅在其他管道完成后才启动? Azure 中是否有此功能,或者我是否需要某种解决方法?

提前致谢~

根据您的描述,我认为您可以通过编程方式监控 Azure 数据工厂管道的执行状态。

请添加以下代码以持续检查管道 运行 的状态,直到它在 RunId 结束。

PipelineRun pipelineRun;
while (true)
{
    pipelineRun = client.PipelineRuns.Get(resourceGroup, dataFactoryName, runResponse.RunId);
    Console.WriteLine("Status: " + pipelineRun.Status);
    if (pipelineRun.Status == "InProgress")
        System.Threading.Thread.Sleep(15000);
    else
        break;
}

如果管道 运行 成功,则启动您的 SSIS 包。

if (pipelineRun.Status == "Succeeded")
   //..do your business

更多详情,请参考此document

您始终可以创建使用 execute pipeline and execute SSIS package activities. ADF V2 has the concept of dependencies 的父管道,因此在执行管道 activity 和执行 SSIS 包 activity 之间存在依赖关系。确保选中执行管道 activity 的 Wait on Completion 框,以便它们 运行 按顺序而不是并行。一个 activity 可以有多个依赖项,所以如果你需要 SSIS 等待 3 个包而不是一个,那应该仍然有效。

那么您可以只触发父管道,而不是单独触发其他管道和 SSIS 包。