如何使用Terraform创建一个python运行时为3.6的Azure Web应用程序
Terraform 0.13在为kind=Linux创建Azure应用程序服务时尝试使用python_version=3.6时返回错误。看起来这在Terraform中不是一个有效的选项,但在Azure中却是一个有效的选项。我需要考虑其他的选择吗?Azure在此配置中不支持python_版本3.4 例如:如何使用Terraform创建一个python运行时为3.6的Azure Web应用程序,azure,terraform,Azure,Terraform,Terraform 0.13在为kind=Linux创建Azure应用程序服务时尝试使用python_version=3.6时返回错误。看起来这在Terraform中不是一个有效的选项,但在Azure中却是一个有效的选项。我需要考虑其他的选择吗?Azure在此配置中不支持python_版本3.4 例如: resource "azurerm_resource_group" "ref-webapp-group" { n
resource "azurerm_resource_group" "ref-webapp-group" {
name = "${var.ref-prefix}-webapp-rg"
location = "eastus2"
tags = var.common-tags
}
resource "azurerm_app_service_plan" "appserviceplan" {
name = "SOMEPREFIX-appserviceplan"
location = azurerm_resource_group.ref-webapp-group.location
resource_group_name = azurerm_resource_group.ref-webapp-group.name
kind = "Linux"
reserved = true
sku {
tier = "Standard"
size = "S1"
}
}
resource "azurerm_app_service" "webapp" {
name = "SOMEPREFIX-webapp"
location = azurerm_resource_group.ref-webapp-group.location
resource_group_name = azurerm_resource_group.ref-webapp-group.name
app_service_plan_id = azurerm_app_service_plan.appserviceplan.id
site_config {
python_version = 3.6
}
app_settings = {
"SOME_KEY" = "some-value"
}
}
好的,经过一点调查,看起来您可以使用linux\u fx\u version参数来部署不同的运行时。您可以使用以下命令:
az webapp list-runtimes --linux
要列出运行时,然后将其放入terraform脚本中,如下所示:
resource "azurerm_resource_group" "ref-webapp-group" {
name = "${var.ref-prefix}-webapp-rg"
location = "eastus2"
tags = var.common-tags
}
resource "azurerm_app_service_plan" "appserviceplan" {
name = "SOMEPREFIX-appserviceplan"
location = azurerm_resource_group.ref-webapp-group.location
resource_group_name = azurerm_resource_group.ref-webapp-group.name
kind = "Linux"
reserved = true
sku {
tier = "Standard"
size = "S1"
}
}
resource "azurerm_app_service" "webapp" {
name = "SOMEPREFIX-webapp"
location = azurerm_resource_group.ref-webapp-group.location
resource_group_name = azurerm_resource_group.ref-webapp-group.name
app_service_plan_id = azurerm_app_service_plan.appserviceplan.id
site_config {
linux_fx_version = "PYTHON|3.6"
}
app_settings = {
"SOME_KEY" = "some-value"
}
}
我在Terraform文档中找不到这方面的文档,我在那里的文档中也找不到微软的文档。我确实在Microsoft docs的git hub bug中找到了它:作为一个选项,您可以在Azure中手动创建具有所需配置的应用程序服务,创建空的terraform资源,并使用
terraform import
命令导入创建的应用程序服务。下一次运行terraform plan
将向您显示创建所需资源的确切配置,您只需将其移动到资源。