如何使用Powershell更改Azure功能应用程序的“始终在线”?

时间:2019-03-11 11:04:05

标签: azure powershell

我正在使用“基本”计划。我想创建一个脚本,该脚本可以将“ always-on”始终切换为false,然后将服务计划更改为免费套餐。当我再次需要该功能时,我可以撤消设置。我为什么要这样做?因此,我可以确保App服务计划保留相同的出站IP地址。我不想一直为基本计划付费,因此需要一个简单的脚本来实现。

我正在使用最新的“ AZ”模块。

$site = Get-AzWebApp -ResourceGroupName $ResourceGroupName -Name  $SiteName
$site.SiteConfig.AlwaysOn = $false

Set-AzWebApp -ResourceGroupName $ResourceGroupName -Name $SiteName ???

谢谢

2 个答案:

答案 0 :(得分:1)

设置应用服务计划

Set-AzAppServicePlan -ResourceGroupName "myrgname"  -Name "my app service plan name" -Tier Basic -WorkerSize Small

免费,您可以将层名称更改为Free

设置为始终在线

Connect-AzAccount

$webApp = Get-AzResource -ResourceType 'microsoft.web/sites' -ResourceGroupName 'myrgname' -ResourceName 'my function app name'

$webApp | Set-AzResource -PropertyObject @{"siteConfig" = @{"AlwaysOn" = $false}}

这里还有另外两个类似的SO帖子。区别在于它们不解决应用程序服务计划层的更改,也不使用最新的Az模块Post1Post2

答案 1 :(得分:1)

您只需将修改后的应用程序通过管道传输到Set-AzWebApp

$app = Get-AzWebApp -ResourceGroupName $ResourceGroupName -Name $ApplicationName
$app.SiteConfig.AlwaysOn = $false
$app | Set-AzWebApp