为什么 Get-AzDataFactoryV2PipelineRun 不返回 InProgress 管道运行?



我正在使用以下PowerShell脚本运行Azure功能应用程序以获得ADF管道运行。它返回管道运行的所有历史记录,但它跳过活动(进程中)运行。它只返回已完成/失败/取消的运行。微软文档显示它也应该返回InProgress状态。我触发了ADF并确保它正在运行,这个脚本只返回从最后一次完成的运行和以前的运行开始的运行,但完全忽略了Active/InProgress运行。

脚本如下:

#Input Parameters
$ResourceGroupName = 'ABC'
$DataFactoryName = 'XYZ'
$before = (get-date).AddDays(1)
$after = (get-date).AddDays(-1)
#Get Pipeline Run History
$runIds = Get-AzDataFactoryV2PipelineRun -DataFactoryName $DataFactoryName -ResourceGroupName $ResourceGroupName  -LastUpdatedAfter $after -LastUpdatedBefore $before
#Return all Retrieved Statuses 
$runIds | ForEach-Object {
## Check for all statuses
Write-Host $_.Status
Write-Host $_.RunStart
Write-Host $_.RunEnd

是这个bug还是我在这里错过了什么?

代码看起来很好。我最后测试了一下,效果很好。我想试一试,扩大时间范围。

$before = (get-date)
$after = (get-date).AddDays(-5)

同时,确保在脚本执行之前管道运行没有完成。

我找到了问题所在。问题是它返回的数据对象排序与我预期的不同。因为,活动管道运行有null RunEnd,它把活动管道在返回行的末尾。所以,它显示了所有以前的运行从最近的到以前的排序(排序desc),但最后它又返回了从最近的到以前的Active运行。

最新更新