在Azure门户中,我可以如下设置Java版本: portal image
在terraform配置文件中,我只能使用以下命令设置Azure Function版本:
resource "azurerm_function_app" "function-app" {
name = "test"
location = azurerm_resource_group.resource-group.location
resource_group_name = azurerm_resource_group.resource-group.name
app_service_plan_id = azurerm_app_service_plan.service-plan.id
storage_account_name = azurerm_storage_account.storage-account.name
storage_account_access_key = azurerm_storage_account.storage-account.primary_access_key
app_settings = {
FUNCTION_APP_EDIT_MODE = "readOnly"
WEBSITE_RUN_FROM_PACKAGE = 1
FUNCTIONS_EXTENSION_VERSION = 2
FUNCTIONS_WORKER_RUNTIME = "java"
SCM_DO_BUILD_DURING_DEPLOYMENT = false
}
}
部署上述配置时,仅将运行时设置为java,但是由于未设置版本,因此我的部署无法正常工作。
门户网站中的结果如下所示: java stack settings
答案 0 :(得分:0)
您可以使用version
参数来设置与Function App相关的运行时版本。参见Argument Reference。
此外,来自文档-How to target Azure Functions runtime versions
功能应用程序在特定版本的Azure Functions上运行 运行。有三个主要版本:1.x,2.x和3.x。通过 默认情况下,功能应用程序是在运行时版本3.x中创建的。
在这种情况下,您可以在version = "~3"
下添加参数 resource "azurerm_function_app" "function-app""
。它将得到您预期的结果。
答案 1 :(得分:0)
我不知道Nancy Xiong的回答如何被接受,因为它没有回答问题,这特别是关于在Terraform中为Azure函数应用程序设置Java版本的问题。 这是您正确执行的方法:
site_config {
linux_fx_version = "JAVA|11"
}
答案 2 :(得分:0)
使用 Azure Provider 版本 >=v2.57.0
,您可以通过 site_config
属性 java_version
设置 Java 版本。
java_version -(可选)由 Azure 中的函数应用托管的 Java 版本。可能的值为 1.8、11。
resource "azurerm_function_app" "function-app" {
// ..
site_config {
java_version = "11"
}
}