Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell 创建新插槽时更改WebApp AppSetting值_Powershell_Azure_Azure Deployment Slots - Fatal编程技术网

Powershell 创建新插槽时更改WebApp AppSetting值

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

为Azure WebApp创建新插槽时,如何成功更改一个或多个应用设置

建议有一个名为
-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变量并添加/更新它们。显然,我更希望事情按照描述的那样进行,但至少这是一个相当轻松的解决方法。谢谢