【发布时间】:2019-04-03 05:04:38
【问题描述】:
出于部署目的,我创建了一个 PowerShell 脚本来设置应用程序设置。这可以通过
正常工作$currentAppSettings = $app.SiteConfig.AppSettings
$appSettings = @{}
# Add existing App Settings
ForEach ($currentAppSetting in $currentAppSettings) {
$appSettings[$currentAppSetting.Name] = $currentAppSetting.Value
}
# Add new App Settings
$appSettings["someKey"] = "someValue"
# Update App Settings
Set-AzWebApp -ResourceGroupName $resourceGroupName -Name $appName -AppSettings $appSettings
当我现在使用实体框架时,我还需要设置连接字符串。首先我认为这应该像应用程序设置一样工作,只需添加 ConnectionStrings 参数:
$currentConnectionStrings = $app.SiteConfig.ConnectionStrings
$connectionStrings = @{}
ForEach ($currentConnectionString in $currentConnectionStrings) {
$connectionStrings[$currentConnectionString.Name] = $currentConnectionString.ConnectionString
}
$connectionStrings["someKey"] = "someValue"
Set-AzWebApp -ResourceGroupName $resourceGroupName -Name $appName -ConnectionStrings $connectionStrings
但这失败并出现错误
Set-AzWebApp:无法验证参数“ConnectionStrings”上的参数。连接字符串类型值对必须是“System.Collections.Hashtable”类型
尽管$connectionStrings 的类型是System.Collections.Hashtable
还尝试使用自定义对象、数组等失败。
如何正确传递连接字符串? 我如何指定类型(例如 SQLAZURE)?
谢谢
【问题讨论】:
-
对于您的第二个问题,显然您可以使用 Type 2 将类型设置为 SQL Azure。看看这个答案中的代码,尤其是在他们这样做的地方
connectionString.Add(..)stackoverflow.com/a/41219876/2102114
标签: entity-framework powershell azure-functions connection-string