powershell - 如何仅使用管道名称检查数据工厂管道运行的当前状态?

标签 powershell azure-data-factory

是否可以通过 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/

相关文章:

azure - 删除多个 Azure 数据工厂管道

azure - 循环遍历文件夹目录中的每个文件并检查日期 Azure Data Factory V2 -错误代码

excel - Word表格文本中的单元格比较,然后导出数据

powershell - 如何删除这些别名

powershell - 如何通过Powershell解析最新的DNS CName结果

发送到其他项目时,PowerShell ConvertTo-CSV 出现行尾问题

shell - 执行 shell 时 Jenkins 构建失败

c# - 在Azure Batch中运行Azure数据工厂事件时,应如何处理异步性

azure - 获取 Azure 数据工厂中 blob 文件的自定义元数据

azure - 如何将 JSON 传递到 Azure 函数并在 Azure 数据工厂 V2 中嵌入动态内容