如何通过 Azure 资源管理器在 .Net Core 上将 Azure App Service 设置为 运行
How to setup Azure App Service to run on .Net Core through Azure Resource Manager
我已经使用以下 ARM 模板片段设置了应用服务:
{
"name": "[variables('webBackEnd')]",
"type": "Microsoft.Web/sites",
"location": "[parameters('location')]",
"apiVersion": "2015-08-01",
"dependsOn": [
"[resourceId('Microsoft.Web/serverfarms', parameters('hostingPlanName'))]"
],
"tags": {
"[concat('hidden-related:', resourceId('Microsoft.Web/serverfarms', parameters('hostingPlanName')))]": "Resource",
"displayName": "BackendWebApp"
},
"properties": {
"name": "[variables('webBackEnd')]",
"serverFarmId": "[resourceId('Microsoft.Web/serverfarms', parameters('hostingPlanName'))]"
}
},
这将部署应用服务。但是,默认情况下,它将设置为使用 .Net Framework。下面是我的 Azure 门户的视图:
为了 运行 我的 ASP.Net 基于核心的 Web 服务器,我必须手动将堆栈设置从“.Net”切换到“.Net Core”。这是一件微不足道的事情,但我更愿意通过 ARM 模板正确配置它。我搜索了 Microsoft's docs,但找不到正确的 属性。如何做到这一点?
以下是从门户创建的示例 Web 应用程序的外观:
{
"apiVersion": "2018-02-01",
"name": "[parameters('name')]",
"type": "Microsoft.Web/sites",
"location": "[parameters('location')]",
"properties": {
"name": "[parameters('name')]",
"siteConfig": {
"appSettings": [],
"metadata": [
{
"name": "CURRENT_STACK",
"value": "[parameters('currentStack')]"
}
]
},
// redacted some values
}
},
并且当前堆栈值为dotnetcore
已接受的答案对我不起作用。我开始了自己的调查并完成了这段代码,它适用于我的情况。
"type": "Microsoft.Web/sites",
"apiVersion": "2018-11-01",
"name": "[parameters('site_name')]",
"location": "[resourceGroup().location]",
.........................................
"resources": [
{
"name": "metadata",
"type": "config",
"apiVersion": "2018-11-01",
"dependsOn": [
"[resourceId('Microsoft.Web/sites', parameters('site_name'))]"
],
"tags": {
},
"properties": {
"CURRENT_STACK": "dotnetcore"
}
}
]
我已经使用以下 ARM 模板片段设置了应用服务:
{
"name": "[variables('webBackEnd')]",
"type": "Microsoft.Web/sites",
"location": "[parameters('location')]",
"apiVersion": "2015-08-01",
"dependsOn": [
"[resourceId('Microsoft.Web/serverfarms', parameters('hostingPlanName'))]"
],
"tags": {
"[concat('hidden-related:', resourceId('Microsoft.Web/serverfarms', parameters('hostingPlanName')))]": "Resource",
"displayName": "BackendWebApp"
},
"properties": {
"name": "[variables('webBackEnd')]",
"serverFarmId": "[resourceId('Microsoft.Web/serverfarms', parameters('hostingPlanName'))]"
}
},
这将部署应用服务。但是,默认情况下,它将设置为使用 .Net Framework。下面是我的 Azure 门户的视图:
为了 运行 我的 ASP.Net 基于核心的 Web 服务器,我必须手动将堆栈设置从“.Net”切换到“.Net Core”。这是一件微不足道的事情,但我更愿意通过 ARM 模板正确配置它。我搜索了 Microsoft's docs,但找不到正确的 属性。如何做到这一点?
以下是从门户创建的示例 Web 应用程序的外观:
{
"apiVersion": "2018-02-01",
"name": "[parameters('name')]",
"type": "Microsoft.Web/sites",
"location": "[parameters('location')]",
"properties": {
"name": "[parameters('name')]",
"siteConfig": {
"appSettings": [],
"metadata": [
{
"name": "CURRENT_STACK",
"value": "[parameters('currentStack')]"
}
]
},
// redacted some values
}
},
并且当前堆栈值为dotnetcore
已接受的答案对我不起作用。我开始了自己的调查并完成了这段代码,它适用于我的情况。
"type": "Microsoft.Web/sites",
"apiVersion": "2018-11-01",
"name": "[parameters('site_name')]",
"location": "[resourceGroup().location]",
.........................................
"resources": [
{
"name": "metadata",
"type": "config",
"apiVersion": "2018-11-01",
"dependsOn": [
"[resourceId('Microsoft.Web/sites', parameters('site_name'))]"
],
"tags": {
},
"properties": {
"CURRENT_STACK": "dotnetcore"
}
}
]