首页 > 解决方案 > 如何从 CI/CD 管道监控 adf 管道

问题描述

我有一个 CD 管道,它触发一个 azure 数据工厂(adf)管道,但它(CD 管道)不会等到(adf)管道完成后才继续执行下一个任务。我想知道 CD 管道中是否有任何内置功能,我可以通过这些功能触发和监控 adf 管道。

所以,我想要的结果是 CD 管道应该等待 adf 管道完成,然后再继续 CD 管道中的下一个任务。

标签: azure-devopscontinuous-integrationazure-pipelinesazure-data-factory

解决方案


可以使用 Azure DevOps 中的以下 Powershell 脚本。

$resourceGroupName  = "yourresourcegroup"
$DataFactoryName    = "yourdatafactory"
$pipelineName       = "yourpipeline"
$pollFrequency      = 1

$executionId = Invoke-AzDataFactoryV2Pipeline -ResourceGroupName $resourceGroupName -DataFactoryName $DataFactoryName -PipelineName $pipelineName

$runStatus = (Get-AzDataFactoryV2PipelineRun -ResourceGroupName $resourceGroupName -DataFactoryName $DataFactoryName -PipelineRunId $executionId).Status
While ($runStatus -eq 'InProgress') {

    Write-Host ("Pipeline {0} in progress" -f $pipelineName)
    Start-Sleep $pollFrequency

    $runStatus = (Get-AzDataFactoryV2PipelineRun -ResourceGroupName $resourceGroupName -DataFactoryName $DataFactoryName -PipelineRunId $executionId).Status
}

Write-Host ("Pipeline {0} finished with status {1}" -f $pipelineName, $runStatus)

推荐阅读