我可以轻松 stop/start Azure Webjobs 而无需通过 UI 或 FTP 吗?

Can I easily stop/start Azure Webjobs without going through the UI or FTP?

Azure 管理界面加载 Web 作业列表的速度极慢,而且新门户在 95% 的情况下都会超时并失败。

我们在 Azure 运行 web 作业中有很多 WebApps(通常按区域部署)。 非常 必须通过 UI 才能完成所有这些操作,而且速度很慢。

我知道 Kudu API 为 Web 作业提供 start/stop 机制,您只需将名为 'disable.job' 的文件放入作业文件夹即可停止它,但这些都需要经历极其缓慢的 UI 下载发布凭据($用户名、密码)。

是否有我不知何故错过的 PowerShell cmdlet 或 public 脚本可以帮助执行此操作?理想情况下,我只想提供我的 Azure 凭据或导入证书。

(老实说,微软的关键 cloud/DevOps 产品几乎完全 UI 依赖,并且在 slow/useless UI 上非常令人惊讶。)

A​​l Muhandis,

实际上有一个 Rest API 可以让您试用网络作业。

它允许列出工作、获取工作详细信息、删除或上传工作等等,..

看看: https://github.com/projectkudu/kudu/wiki/WebJobs-API

此致

很难找到,但这里有 link 启动和停止的文档:

开始: Documentation

示例:Start-AzureWebsiteJob -Name MyWebsite -JobName MyWebJob -JobType Continuous

停止: Documentation

示例:Stop-AzureWebsiteJob -Name MyWebsite -JobName MyWebJob

https://resources.azure.com 打开您的资源,Web 作业。应该类似于 https://resources.azure.com/subscriptions/<your subscription>/resourceGroups/<your group>/providers/Microsoft.Web/sites/<your site name>/continuouswebjobs/<your job name> 并打开 Powershell 选项卡。应该有关于如何启动/停止 WebJob 的最新示例:

# Action start
Invoke-AzureRmResourceAction -ResourceGroupName <your groupname> `
       -ResourceType Microsoft.Web/sites/continuouswebjobs `
       -ResourceName <your site name>/<your job> `
       -Action start  -ApiVersion 2018-02-01 -Force