Set-AzWebAppSlot 能否仅覆盖 1 个应用程序设置?
Can Set-AzWebAppSlot overwrite just 1 Application Setting?
阅读文档:
https://docs.microsoft.com/en-us/powershell/module/az.websites/set-azwebappslot?view=azps-4.3.0
它说:
应用程序设置哈希表。现有的应用程序设置将被替换,删除所有未提供的设置。
这是否意味着如果我只在该哈希表参数中提供一个值,我所有不在参数中的应用程序设置变量都会消失?
不,Set-AzWebAppSlot
不能只覆盖一个应用程序设置,它会覆盖所有设置。
如果您只想覆盖一项应用设置,可以使用以下命令。
在我的示例中,我只是用值 value2
覆盖了名为 setting2
的应用程序设置。
$r = Invoke-AzResourceAction -ResourceGroupName <group-name> -ResourceType Microsoft.Web/sites/slots/config -ResourceName "<webapp-name>/<slot-name>/appsettings" -Action list -ApiVersion 2018-02-01 -Force
$r.Properties.setting2 = "value2"
New-AzResource -ResourceGroupName <group-name> -ResourceType Microsoft.Web/sites/slots/config -ResourceName "<webapp-name>/<slot-name>/appsettings" -Properties $r.properties -ApiVersion 2018-02-01 -Force
阅读文档:
https://docs.microsoft.com/en-us/powershell/module/az.websites/set-azwebappslot?view=azps-4.3.0
它说:
应用程序设置哈希表。现有的应用程序设置将被替换,删除所有未提供的设置。
这是否意味着如果我只在该哈希表参数中提供一个值,我所有不在参数中的应用程序设置变量都会消失?
不,Set-AzWebAppSlot
不能只覆盖一个应用程序设置,它会覆盖所有设置。
如果您只想覆盖一项应用设置,可以使用以下命令。
在我的示例中,我只是用值 value2
覆盖了名为 setting2
的应用程序设置。
$r = Invoke-AzResourceAction -ResourceGroupName <group-name> -ResourceType Microsoft.Web/sites/slots/config -ResourceName "<webapp-name>/<slot-name>/appsettings" -Action list -ApiVersion 2018-02-01 -Force
$r.Properties.setting2 = "value2"
New-AzResource -ResourceGroupName <group-name> -ResourceType Microsoft.Web/sites/slots/config -ResourceName "<webapp-name>/<slot-name>/appsettings" -Properties $r.properties -ApiVersion 2018-02-01 -Force