Измените значения WebApp AppSetting при создании нового слота

Как при создании нового слота для веб-приложения Azure успешно изменить один или несколько параметров приложения?

документы для New-AzureRmWebAppSlot предполагает наличие параметра с именем -AppSettingsOverrides, но это не работает.

Однако следует отметить, что связанные документы, по-видимому, неправильно ссылаются на командлет New-AzureRmWebApp, поэтому я не могу быть уверен, что параметр действительно действителен (хотя он, кажется, принимается без ошибок).

Вот код, который я запускаю.

New-AzureRmWebAppSlot -ResourceGroupName $resourceGroupName -Name $webAppName -Slot $slotName -AppSettingsOverrides @{"FUNCTION_APP_EDIT_MODE" = "readwrite"} -ErrorAction Stop

Кто-нибудь еще сталкивался с таким, казалось бы, неправильным поведением, и если да, то как вы это исправили?

Моя версия Azure – 3.5.0.


person David Gard    schedule 29.09.2017    source источник


Ответы (1)


Вы можете сначала создать слот, а затем использовать Set-AzureRmWebAppSlot для изменения AppSetting. Следующий скрипт работает для меня.

$myResourceGroup = "shuiapp"
$mySite = "shuicli"
$slotName = "Test1"
$webApp = Get-AzureRMWebAppSlot -ResourceGroupName $myResourceGroup -Name $mySite -Slot $slotName
$appSettingList = $webApp.SiteConfig.AppSettings

$hash = @{}
ForEach ($kvp in $appSettingList) {
    $hash[$kvp.Name] = $kvp.Value
}


$hash['ExistingKey2'] = "NewValue12"

Set-AzureRMWebAppSlot -ResourceGroupName $myResourceGroup -Name $mySite -AppSettings $hash -Slot $slotName

введите здесь описание изображения

вопрос будет полезно.

person Shui shengbao    schedule 29.09.2017
comment
Это должно сработать. Мы используем Octopus для развертывания приложения-функции, и шаг 2 — это в основном то, что вы уже предложили, беря переменные Octopus и добавляя/обновляя их. Очевидно, я бы предпочел, чтобы все работало так, как описано, но, по крайней мере, это довольно безболезненный обходной путь. Спасибо. - person David Gard; 29.09.2017