创建新插槽时更改 WebApp AppSetting 值

Change WebApp AppSetting values when creating a new Slot

为 Azure WebApp 创建新槽时,如何才能成功更改一个或多个 AppSettings?

docs for New-AzureRmWebAppSlot提示有一个参数叫-AppSettingsOverrides,但是没有用

但是应该注意的是,链接的文档似乎错误地引用了 New-AzureRmWebApp Cmdlet,所以我不能确定参数是否真的有效(尽管它似乎被无误地接受了)。

这是我的代码运行。

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

有没有其他人遇到过这种看似不正确的行为,如果遇到过,您是如何解决的?

我的 Azure 版本是 3.5.0.

您可以先创建Slot,然后使用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

会有帮助。