Powershell 创建新插槽时更改WebApp AppSetting值
为Azure WebApp创建新插槽时,如何成功更改一个或多个应用设置 建议有一个名为Powershell 创建新插槽时更改WebApp AppSetting值,powershell,azure,azure-deployment-slots,Powershell,Azure,Azure Deployment Slots,为Azure WebApp创建新插槽时,如何成功更改一个或多个应用设置 建议有一个名为-appsetingsoverrides的参数,但该参数不起作用 但是,应该注意的是,链接的文档似乎错误地引用了New-AzureRmWebAppCmdlet,因此我无法确定该参数是否实际有效(尽管它似乎没有错误地被接受) 下面是我正在运行的代码 New-AzureRmWebAppSlot -ResourceGroupName $resourceGroupName -Name $webAppName -Slot
-appsetingsoverrides
的参数,但该参数不起作用
但是,应该注意的是,链接的文档似乎错误地引用了New-AzureRmWebApp
Cmdlet,因此我无法确定该参数是否实际有效(尽管它似乎没有错误地被接受)
下面是我正在运行的代码
New-AzureRmWebAppSlot -ResourceGroupName $resourceGroupName -Name $webAppName -Slot $slotName -AppSettingsOverrides @{"FUNCTION_APP_EDIT_MODE" = "readwrite"} -ErrorAction Stop
是否有其他人经历过这种看似不正确的行为,如果有,您是如何解决的
我的Azure版本是3.5.0。您可以先创建插槽,然后使用更改应用程序设置。下面的脚本适合我
$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
这会很有帮助。这应该行得通。我们使用Octopus来部署一个功能应用程序,步骤2基本上就是您之前提出的,获取Octopus变量并添加/更新它们。显然,我更希望事情按照描述的那样进行,但至少这是一个相当轻松的解决方法。谢谢