azure - Azure 应用服务槽不同值应用设置
问题描述
我有一个带有插槽的 webapp。两者都应具有应用设置名称 DISABLE_CRON。webapp(生产槽)应将此设置设置为 false,并且槽应将此设置设置为 true。我想用 ARM 模板来做这个。webapp 有许多 appsettings,例如数据库名称、数据库登录用户名和密码等。我希望所有这些设置都在一个变量中,这样我就不必为 webapp 编写一次,为插槽编写一次。基本上我只想在插槽上将值更改为 true 并保持所有其他设置相同。
"variables": {
"appName": "[concat(parameters('applicationName'),'-',parameters('environment'),'-app')]",
"hostingPlanName": "[concat(parameters('applicationName'),'-',parameters('environment'),'-plan')]",
"dbserverName": "[concat('onlinecampaignsites-',parameters('environment'),'-dbs-01')]",
"connectionString": "[concat('Database=', parameters('applicationName'), ';Data Source=', concat('onlinecampaignsites-',parameters('environment'),'-dbs-01'),'.mysql.database.azure.com;User Id=',parameters('administratorLogin'),'@',concat('onlinecampaignsites-',parameters('environment'),'-dbs-01'),';Password=',parameters('administratorLoginPassword'))]",
"appInsightsName": "[concat(parameters('applicationName'),'-',parameters('environment'),'-appIn')]",
"databaseName": "[parameters('applicationName')]",
"storageName": "[concat(parameters('applicationName'),parameters('environment'),'stg')]",
"serverFarmResourceGroup": "[resourceGroup().name]",
"subscriptionId": "[subscription().subscriptionId]",
"containerName01": "[concat(parameters('applicationName'),'-',parameters('environment'),'-uploads')]",
"staging": "staging",
"appsettings": {
"DISABLE_CRON": "false",
"HEJSAN": "Den vann den"
}
},
"resources": [
{
"name": "[variables('appname')]",
"type": "Microsoft.Web/sites",
"location": "[resourceGroup().location]",
"apiVersion": "2018-02-01",
"dependsOn": [
"[concat('Microsoft.Web/serverfarms/', variables('hostingPlanName'))]"
],
"properties": {
"siteConfig": {
"appSettings": [
{
"name": "DISABLE_CRON",
"value": "true"
}
]
},
"hostNameSslStates":"[concat('{\"name\": \"',parameters('customDomain'),'\", \"sslState\": \"Disabled\", \"virtualIP\": null, \"thumbprint\": null, \"toUpdate\": null,\"hostType\": \"Standard\"}')]",
"serverFarmId": "[concat('/subscriptions/', variables('subscriptionId'),'/resourcegroups/', variables('serverFarmResourceGroup'), '/providers/Microsoft.Web/serverfarms/', variables('hostingPlanName'))]",
"hostingEnvironment": "",
"httpsOnly": true
},
"resources": [
{
"apiVersion": "2018-02-01",
"name": "slotconfignames",
"type": "config",
"dependsOn": [
"[concat('Microsoft.Web/sites/', variables('appName'))]"
],
"properties": {
"appSettingNames": [ "DISABLE_CRON" ]
}
},
{
"apiVersion": "2018-02-01",
"type": "config",
"name": "appsettings",
"dependsOn": [
"[concat('Microsoft.Web/sites/', variables('appName'))]"
],
"properties": "[variables('appsettings')]"
}
]
},
{
"apiVersion": "2018-02-01",
"type": "Microsoft.Web/sites/slots",
"name": "[concat(variables('appName'), '/', variables('staging'))]",
"location": "[resourceGroup().location]",
"dependsOn": [
"[resourceId('Microsoft.Web/Sites', variables('appName'))]",
"[concat('Microsoft.Web/serverfarms/', variables('hostingPlanName'))]"
],
"properties": {},
"resources": [
{
"apiVersion": "2018-02-01",
"type": "config",
"name": "appsettings",
"dependsOn": [
"[resourceId('Microsoft.Web/sites/slots', variables('appName'), variables('staging'))]"
],
"properties": "[variables('appsettings')]"
}
]
},
在 ARM 模板示例中,有两个 appsettings。将 DISABLE_CRON 设置为 true 是行不通的,我只是想用这个例子来说明这一点。
解决方案
推荐阅读
- php - 如何在 Laravel 6 API 中创建自定义验证规则
- c++ - 为什么会出现错误:size 不是 std 的成员?
- c++ - 如何输入 (i+1) 作为字符串?
- apache-kafka - kafka服务器可以强制消费者属性吗?
- airflow - LocalExecutor 的气流配置建议
- python - 在带有 ctypes 的 python 中使用 d2xx.dll
- reactjs - 在 Redux 中获取用户配置文件时出现 TypeError
- iis - 从 Core 2.2 升级到 ASP.NET Core 3.0 后 IIS 配置错误
- c++ - 不断收到错误 ' no match for 'operator>>' ;
- excel - VBA Excel:将多页打印到一个pdf