其他停止Azure中所有Web作业的方法?

时间:2019-03-08 01:42:06

标签: azure powershell azure-webjobs azure-powershell azure-cli

我想停止具有特定名称的Web作业,该作业当前正在Azure的应用计划中的所有应用上运行。我更喜欢PowerShell,但是与az cli相比,缺少Azure PS模块,因此我得到了以下内容,感觉很笨拙:

Get-AzWebApp
|
where ServerFarmId -EQ '$appPlanId'
|
select Name, ResourceGroup
|
% {az webapp webjob continuous list --name $_.Name --resource-group $_.ResourceGroup --query '[].{Id:id}' | ConvertFrom-Json}
|
% {az webapp webjob continuous stop --webjob-name $webjobName --ids "$($_.Id)"}

我希望您能提出更好的建议。

1 个答案:

答案 0 :(得分:0)

众所周知,您可以在WebJobs APIContinuous Jobs下面使用两个API,以在PowerShell中实现您的需求。

  1. List all continuous jobs
  2. Stop a continuous job

有关上面如何调用这些API的信息,您可以参考Sample of using REST API with PowerShell

同时,请参阅文档Deployment credentials,以了解如何在REST调用中使用凭据。您可以参考我对类似的SO线程Unable to access admin URL of Azure Functions的回答,以了解如何获取凭据参数。