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

问题描述 投票:1回答:2

在Azure Data Factory中,如何在其他管道成功完成后触发管道?

In detail:

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

提前谢谢〜

ssis azure-data-factory azure-data-factory-2
2个回答
2
投票

您始终可以创建使用execute pipelineexecute SSIS package活动的父管道。 ADF V2具有dependencies的概念,因此在执行管道活动和执行SSIS包活动之间存在依赖关系。确保检查执行管道活动的“等待完成时”框,以便它们按顺序而不是并行运行。您可以为一个活动拥有多个依赖项,因此如果您需要SSIS在3个包而不是一个包上等待,那么它仍然有用。

enter image description here

然后,您可以只触发父管道,而不是分别触发其他管道和SSIS包。


1
投票

根据您的描述,我认为您可以以编程方式监视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

© www.soinside.com 2019 - 2024. All rights reserved.