我正在使用以下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运行。