我有一个azure订阅,有超过200 appServices,其中大约一半有连续,总是在webJobs附加,有些也有插槽也有webJobs.
有没有办法列出订阅中的所有webJobs?我原本想使用powershell来做这件事,但它变得相当复杂,并且想知道是否有人知道实现上述目标的简单方法.
似乎Get-AzureRmWebApp应该能够提供帮助,但我无法找到一种方法来列出驻留在webapps中的作业.
解决方法
我找到了命令Get-AzureWebsiteJob,它不在AzureRM系列的命令行开关中.以下脚本可以获取我正在寻找的数据:
$groups = get-AzureRmResourceGroup | where{$_.ResourceGroupName -like "*-prod-*"} foreach($group in $groups){ Write-Host -ForegroundColor Cyan "processing resourceGroup" $group.ResourceGroupName $webApps = Get-AzureRmWebApp -ResourceGroupName $group.ResourceGroupName foreach($webApp in $webApps){ write-host -ForegroundColor Yellow $webApp.Name $job = Get-AzureWebsiteJob -Name $webApp.Name if($job){ write-host -ForegroundColor DarkYellow $job.JobName } $job = Get-AzureWebsiteJob -Name $webApp.Name -Slot staging if($job){ write-host -ForegroundColor DarkYellow $job.JobName " -staging" } } }
以上内容并未过滤掉已停止运行的运行,但如果需要可以轻松添加.
当然,您首先需要登录AzureRM和Azure classic
Login-AzureRmAccount Select-AzureRmSubscription -SubscriptionId <<mySubscriptionId>> Get-AzureRmContext Add-AzureAccount Select-AzureSubscription -SubscriptionId <<mySubscriptionId>> Get-AzureSubscription -Current
它是一个非常慢的脚本迭代这个数字或AppServices但是.任何加速它的想法将不胜感激.