Я хотел бы установить строки подключения и настройки приложения для своего веб-приложения Azure с помощью powershell. И я хотел бы, чтобы эти настройки встали с слотом, а не с приложением, когда оно было заменено.AzureRM Web App - Как управлять настройкой слота с помощью Powershell
Код для настройки приложения выглядит следующим образом, и она работает:
$PropertiesObject = @{"SMTPUser"="myuser"; "SMTPPassword"="secretpwd";}
$webAppName = "mywebapp"
$slotName = "demo"
$resourceGroupName = "myResourceGroup"
New-AzureRmResource -PropertyObject $PropertiesObject -ResourceGroupName $resourceGroupName -ResourceType Microsoft.Web/sites/slots/config -ResourceName $webAppName/$slotName/appsettings -ApiVersion 2015-08-01 -Force
$stickSlotConfigObject = @{"connectionStringNames"[email protected](); "appSettingNames" = @("SMTPUserName","SMTPPassword");}
$result = Set-AzureRmResource -PropertyObject $stickSlotConfigObject -ResourceGroupName $resourceGroupName -ResourceType Microsoft.Web/sites/config -ResourceName $webAppName/slotConfigNames -ApiVersion 2015-08-01 -Force
Это работает. Когда я перехожу к лезвию слота веб-приложения на портале Azure, установите флажок «Настройки слота», как я хочу.
Я пытаюсь установить строки подключения , чтобы установить флажок «Настройки слота». Я пробовал следующее:
$PropertiesObject = @{
AzureWebJobsStorage = @{
Type = "Custom";
Value = "somestring"
};
Common = @{
Type = "SQLAzure";
Value = "somedatabasestring"
};
};
$webAppName = "mywebapp"
$slotName = "demo"
$resourceGroupName = "myResourceGroup"
New-AzureRmResource -PropertyObject $PropertiesObject -ResourceGroupName $resourceGroupName -ResourceType Microsoft.Web/sites/slots/config -ResourceName $webAppName/$slotName/appsettings -ApiVersion 2015-08-01 -Force
$stickSlotConfigObject = @{"appSettingNames"[email protected]();"connectionStringNames"[email protected]("AzureWebJobsStorage","Common"); }
$result = Set-AzureRmResource -PropertyObject $stickSlotConfigObject -ResourceGroupName $resourceGroupName -ResourceType Microsoft.Web/sites/config -ResourceName $webAppName/appsettings -ApiVersion 2015-08-01 -Force
Это не помогло. Я получил следующее сообщение об ошибке:
New-AzureRmResource : {"Code":"BadRequest","Message":"The parameter properties has an invalid value.","Target":null,"Details":[{"Message":"The parameter properties has an invalid value."},{"Code":"BadRequest"},{"ErrorEntity":{"Code":"BadRequest","Message":"The parameter properties has an invalid value.","ExtendedCode":"51008","MessageTemplate":"The parameter {0} has an invalid value.","Parameters":["properties"],"InnerErrors":null}}],"Innererror":null}
Я попробовал другой твик (который я забыл), и это говорит о том, что объект $ PropertiesObject не был в правильном формате.
Как закодировать его в Powershell, так что я могу проверить флажок установки слота строки подключения веб-приложения (или настроить его как «липкий»?
Do y ou есть обновления по этой теме? –
Я протестировал и принял ответ ниже. –