Azure Runbook测试报错Test job is already running,请求协助解决
Azure自动化Runbook测试报错:Test job is already running
我有一个包含以下PowerShell脚本的Runbook:
$DataFactoryName = Get-AutomationVariable -Name 'ADF-SandboxDataFactoryName' $ResourceGroupName = Get-AutomationVariable -Name 'ADF-ResourceGroup_Sandbox' $pipelineName = Get-AutomationVariable -Name 'ADF-PiplelineName' $parameters = @{ "pPL_param1" = "5" } Connect-AzAccount -Identity Write-Output "$($DataFactoryName)" $DataFactory = Get-AzDataFactoryV2 -DataFactoryName $DataFactoryName -ResourceGroupName $ResourceGroupName $Pipelines = Get-AzDataFactoryV2Pipeline -DataFactory $DataFactory $Pipelines.Count | Select-Object @{label='PipelinesCount';expression ={$_}} | Format-List Invoke-AzDataFactoryV2Pipeline -ResourceGroupName $ResourceGroupName -DataFactoryName $DataFactoryName -PipelineName $pipelineName -Parameter $parameters Write-Output "Done .... "
此前反复编辑测试均正常,但突然出现错误:
Test job is already running.. Error code: BadRequest.
我无法解决该问题,请求协助。我不知道在Azure的何处停止运行的自动化作业,且因一直仅使用Test Pane测试,不清楚作业何时及如何启动。
解决方法
1. 通过Azure门户停止测试作业
- 登录Azure门户,找到对应的自动化账户
- 在左侧导航栏的作业菜单中,切换到测试作业标签页
- 这里会列出所有测试运行的作业,找到状态为正在运行的条目
- 选中该作业后,点击顶部工具栏的停止按钮即可终止运行中的测试作业
2. 通过PowerShell命令停止测试作业
如果需要批量或脚本化处理,可以使用以下命令:
# 连接Azure账户(如果未连接) Connect-AzAccount -Identity # 替换为你的资源组和自动化账户名称 $resourceGroup = "你的资源组名" $automationAccount = "你的自动化账户名" # 获取所有正在运行的测试作业 $runningTestJobs = Get-AzAutomationJob -ResourceGroupName $resourceGroup -AutomationAccountName $automationAccount | Where-Object { $_.Status -eq "Running" -and $_.JobType -eq "Test" } # 停止每个运行中的测试作业 foreach ($job in $runningTestJobs) { Stop-AzAutomationJob -ResourceGroupName $resourceGroup -AutomationAccountName $automationAccount -JobId $job.JobId Write-Output "已停止测试作业:$($job.JobId)" }
额外提示
你的Runbook脚本中存在一处拼写错误:ADF-PiplelineName应该是ADF-PipelineName(少了一个i),建议修正该变量名,避免后续执行时找不到对应管道的问题。
内容的提问来源于stack exchange,提问作者Dmitriy Ryabin
相关产品推荐
相关产品推荐

