是否可以通过 Powershell 或 API 仅使用管道名称检查 Azure 数据工厂管道运行的当前状态?
我发现您可以使用 Get-AzDataFactoryV2PipelineRun,但这需要您拥有 pipelinerunid。
我的目标是构建一个脚本,该脚本将首先检查管道运行是否正在运行,如果没有则触发它。我想避免脚本触发管道运行,以便同时运行多个管道运行。
最佳答案
我已经使用 PowerShell 完成了此操作,尽管我确信还有更好的方法,但这就是我提出的解决方案。
它基本上获取从一周前到今天的所有管道运行 ID,迭代每个 ID,如果发现一个“InProgress”,则不会执行任何操作。如果没有管道运行 ID 处于该状态,则执行它。
您显然需要事先进行身份验证才能运行此命令:
$before = get-date
$after = (get-date).AddDays(-7)
$runIds = Get-AzDataFactoryV2PipelineRun -DataFactoryName $DataFactoryName -ResourceGroupName $ResourceGroupName -LastUpdatedAfter $after -LastUpdatedBefore
$before
$shouldRun = 1
$runIds | ForEach-Object {
## Check for all statuses
if($_.Status -eq "InProgress"){
$shouldRun = 0
}
}
if($shouldRun){
## Logic to run pipeline, this is just an example.
Invoke-AzDataFactoryV2Pipeline -PipelineName $PipelineName -ResourceGroupName $ResourceGroupName -DataFactoryName $DataFactoryName
}
关于powershell - 如何仅使用管道名称检查数据工厂管道运行的当前状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60277081/