我想停止当前在Azure中的应用计划中的所有应用上运行的具有特定名称的Web作业。我更喜欢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)"}
我很欣赏有关更好方法的建议。
众所周知,你可以使用WebJobs API
下面的两个API来实现Continuous Jobs
在PowerShell中的需求。
有关如何调用上述API,您可以参考Sample of using REST API with PowerShell。
同时,请参阅文档Deployment credentials以了解如何在REST调用中使用凭据。你可以参考我对类似SO线程Unable to access admin URL of Azure Functions的回答来了解如何获取凭证参数。