在Azure Data Factory中,如何在其他管道成功完成后触发管道?
我寻求在其他管道成功完成后触发SSIS包。我已经知道我可以将我的SSIS包保存为管道并使用类似其他管道的触发器运行它。但是,如何在其他管道完成后确保SSIS包管道启动? Azure中是否有此功能,或者我需要某种解决方法吗?
提前谢谢〜
您始终可以创建使用execute pipeline和execute SSIS package活动的父管道。 ADF V2具有dependencies的概念,因此在执行管道活动和执行SSIS包活动之间存在依赖关系。确保检查执行管道活动的“等待完成时”框,以便它们按顺序而不是并行运行。您可以为一个活动拥有多个依赖项,因此如果您需要SSIS在3个包而不是一个包上等待,那么它仍然有用。
然后,您可以只触发父管道,而不是分别触发其他管道和SSIS包。
根据您的描述,我认为您可以以编程方式监视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。