开箱即用,我认为azurerm_app_service提供程序确实允许我们通过使用dotnet_framework_version
字段来指定.Net framework版本。
网络框架版本-此应用程序服务中使用的.net framework的CLR版本。可能的值为v2.0(将使用最新版本的.net框架用于.net CLR v2 -目前为.net 3.5)和v4.0(对应于.net CLR v4的最新版本-在编写本文时为.net 4.7.1)。有关基于目标.net framework使用哪个.net CLR版本的详细信息-请参见此表。默认为v4.0。
https://www.terraform.io/docs/providers/azurerm/r/app_service.html#dotnet_framework_version
该文档指出可能的值为v2.0或v4.0。
但是如果我的目标是.NET核心,而不是v2. 2呢?我应该在这里做什么?
Azure门户允许从下拉菜单中选择.NET Core。(见下面的屏幕截图)
我不确定是否也有办法通过Terraform azurerm_app_service来实现这一点。
3条答案
按热度按时间fslejnso1#
您可以尝试使用Azure CLI查询AppService/WebApp的可用运行时。
https://learn.microsoft.com/en-us/cli/azure/webapp?view=azure-cli-latest#az-webapp-list-runtimes
你可以将你的应用服务配置为将你的应用的容器与. NET核心一起使用。这将允许你通过Dockerfile指定. NET核心版本。缺点是你将需要某种注册表(Azure容器注册表)。
jv4diomz2#
在App Service中托管. NET核心应用程序有两个可用选项:
如果您使用的是Windows应用程序服务计划,则需要指定
dotnet_framework_version
,正如您提到的,只有2个可用选项-v2.0和v4.0。相反,您可以使用Linux App Service计划并在
linux_fx_version
字段中指定. net版本(dotnet_framework_version
应该为空)。像这样:
App Service是一个相当复杂的产品,有许多配置选项,Azure/terraform文档没有很好地涵盖所有方面。
要生成所需的配置,可以在Azure中创建应用服务并将资源导入到平台:
1.在terraform中创建最小的正确应用服务资源。
1.在Azure门户中创建具有所需配置的应用服务。
1.使用
terraform import
命令导入资源:terraform import azurerm_app_service.stackoverlow_service /subscriptions/....
.1.运行
terraform plan
查看确切的差别或检查terraform状态文件。vu8f3i0k3#
您需要在app_service块的
site_config
块中指定以下2个设置。它们是
linux_fx_version
和dotnet_framework_version
。您至少需要运行2.38.0版本的
azurerm
提供程序。您可以通过在包含您的terraform文件的目录中运行以下命令来进行检查:terraform version
这将显示terraform cli和所有使用的提供程序。