2016-11-24 30 views
5

Używam PowerShell 5 i próbuje manipulować mojego obiektu Azure webapp przy użyciu Set-AzureRmWebApp (a NIE Set-AzureResource), aby ustawić „Zawsze W "własności aplikacji internetowej.Azure: PowerShell: Set-AzureRmWebApp: Jak ustawić "AlwaysOn" własność

Mój kod podstawowy fragment rozpoczyna się z systemem aplikacji internetowej o nazwie "wpisem MyWebApp", a wygląda to tak:

$name = "myWebApp" 
$resourceGroupName = "myResourceGroup" 
$app_settings = @{"WEBSITE_LOAD_CERTIFICATES"="*";"CommonDatabase"="Common";"WEBSITE_NODE_DEFAULT_VERSION"="0.10.32"} 

$result1 = Set-AzureRmWebApp -ResourceGroupName $resourceGroupName -AppSettings $app_settings -Name $name 
$result2 = Set-AzureRmResource -ResourceGroupName $resourceGroupName -ResourceType Microsoft.Web/sites/config -ResourceName $this.name -PropertyObject $propertiesObject -ApiVersion 2015-08-01 -Force 

Pierwsze Set-AzureRmWebApp prace oświadczenie. Ustawia wszystkie zmienne w $ app_settings i stają się one widoczne w ostrzu Azure Portal dla myWebApp.

Próbowałem za pomocą „Always On” na jako właściwość w $ app_settings z zestawami AzureRmWebApp, a ona pojawiła się w ustawieniach aplikacji podmenu we właściwościach „wpisem MyWebApp” na Azure ostrza portalu , ale rzeczywista właściwość "Always On" w ustawieniach ogólnych pozostała wyłączona.

Przeczytałem na innej stronie, że przy użyciu Set-AzureRmResource będzie działać, więc próbowałem go, ale nie powiodło się.

Co muszę zrobić w Powershell, aby ustawić właściwość w ustawieniach ogólnych mojej aplikacji Web Azure, w szczególności "Always On"?

+0

Możliwy duplikat [Czy to możliwe, aby umożliwić zawsze włączone dla Azure internetowych poprzez API Zarządzanie/zasób?] (Http://stackoverflow.com/questions/26756644/is-it-possible-to -używanie-zawsze-na-lazurowych-stronach-poprzez-zarządzanie-resourc) – sharbag

+0

Spójrz tam: http://stackoverflow.com/a/36811987/1275334 – sharbag

Odpowiedz

6

"Zawsze włączony" nie jest obsługiwany, jeśli WebApp znajduje się w warstwie bezpłatnego planu usług. Jeśli aplikacja WebApp znajduje się w warstwie swobodnej, należy skalować plan usług aplikacji. Proszę zapoznać się z document, aby uzyskać więcej informacji o tym, jak powiększyć plan usług aplikacji. Spróbuj skorzystać z rozwiązania, o którym wspomniał Sharbag. Jest on dla mnie sprawdzony, a także sprawdzam wynik uruchamiania z lazurowego portalu. Snipped kod z roztworu jest jako poniższych:

$ResourceGroupName = 'Your Group Name' 

    $WebAppName = 'Your WebApp Name' 

    $WebAppPropertiesObject = @{"siteConfig" = @{"AlwaysOn" = $true}} 

    $WebAppResourceType = 'microsoft.web/sites' 

    $webAppResource = Get-AzureRmResource -ResourceType $WebAppResourceType -ResourceGroupName $ResourceGroupName -ResourceName $WebAppName 

    $webAppResource | Set-AzureRmResource -PropertyObject $WebAppPropertiesObject -Force 

enter image description here

Jeśli webapp w wolnym planu usług tier, gdy staramy się uruchomić polecenia PowerShell w celu umożliwienia „Always On” wtedy będziemy uzyskać następujący komunikat o błędzie.

enter image description here

+1

Jestem na płatnym planie. Jest to po prostu formatowanie skrótu własności, który nigdzie nie jest udokumentowany. –

+0

Dzięki, ten działa co najmniej w 2017/10 – Rambalac