В целях развертывания я создал скрипт 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
Поскольку я сейчас использую Entity Framework, мне также нужно установить строки подключения.Сначала я подумал, что это должно работать как с настройками приложения и просто добавить аргумент 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
Также пытается работать с CustomСбой объектов, массивов и т. Д.
Как правильно передать строки подключения? И как указать тип (например, SQLAZURE)?
Спасибо