无法删除所有Azure网站连接字符串

时间:2015-04-15 10:53:51

标签: powershell azure azure-web-sites

对于我的团队目前正在处理的网站,我们尝试编写一些PowerShell自动化来暂时覆盖连接字符串,否则通常在Web.config中,然后在以后删除它。

但是,使用PowerShell cmdlet和Azure REST API,我们似乎无法重置设置为空的连接字符串。每当我们尝试删除它时,命令说它成功但没有删除它,或者请求被拒绝为无效。

可以使用管理门户删除所有连接字符串,那么我们缺少什么意味着我们无法以编程方式执行此操作?

以下是我们使用的示例PowerShell命令,它并不是我们想要的:

$website = Get-AzureWebsite $websiteName -slot $websiteSlot
$connectionStrings = $website.ConnectionStrings

$result = $connectionStrings.Remove(($connectionStrings | Where-Object {$_.Name -eq $connectionStringName}))

Set-AzureWebsite $websiteName -slot $websiteSlot -ConnectionStrings $connectionStrings

1 个答案:

答案 0 :(得分:4)

我知道这已经很晚了。

我遇到了同样的情况。我们能够更新应用程序设置但不能更新连接字符串。我找到了解决方案。因为它没有答案,我认为更新它会很好.. < / p>

根据git-hub source,哈希表(嵌套)需要格式为

@{ KeyName = @{ Type = "MySql"; Value = "MySql Connection string"}};

之后我运行代码来更新App,它运行了。以下是整个代码

$list =  @{ ConnectionString1 = @{ Type = "MySql"; Value = "MySql Connection string"}};

set-AzureRMWebAppSlot -ResourceGroupName "resourceGroup" -Name "devTest" -ConnectionStrings $list -slot "production"