如何使用Terraform创建一个python运行时为3.6的Azure Web应用程序

如何使用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

Terraform 0.13在为kind=Linux创建Azure应用程序服务时尝试使用python_version=3.6时返回错误。看起来这在Terraform中不是一个有效的选项,但在Azure中却是一个有效的选项。我需要考虑其他的选择吗?Azure在此配置中不支持python_版本3.4

例如:

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
将向您显示创建所需资源的确切配置,您只需将其移动到资源。