【问题标题】:Other ways to stop all the web jobs in Azure?停止 Azure 中所有 Web 作业的其他方法?
【发布时间】:2019-07-30 00:48:12
【问题描述】:

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

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)"}

我很感激有关更好方法的建议。

【问题讨论】:

  • 据我所知,这是一种简单的方法。 Powershell 对此更加复杂。

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


【解决方案1】:

据我所知,您可以使用WebJobs API 下面的两个API 来实现Continuous Jobs 在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 的回答,了解如何获取凭证参数。

【讨论】:

  • 我读过关于通过 Kudu 的 API 来做这件事,但是直接调用 REST API 听起来并不是一种更简洁的方法——它会涉及更多样板代码,并且使用 PS 不会增加很多价值,更不用说额外的身份验证了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-10
相关资源
最近更新 更多