使用 Terraform 创建 Azure Function App 时如何设置 java 版本?
How do you set the java version while creating Azure Function App using Terraform?
在 Azure 门户中,我可以设置 Java 版本,如下所示:
portal image
在 terraform 配置文件中,我只能使用以下方式设置 Azure Functions 版本:
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
您可以使用 version
参数来设置与 Function App 关联的运行时版本。参见 Argument Reference。
此外,来自文档---How to target Azure Functions runtime versions
A function app runs on a specific version of the Azure Functions
runtime. There are three major versions: 1.x, 2.x, and 3.x. By
default, function apps are created in version 3.x of the runtime.
在这种情况下,您可以在 resource "azurerm_function_app" "function-app""
下添加参数 version = "~3"
。它会得到你预期的结果。
不知道Nancy Xiong的回答是如何被接受的,因为它没有回答问题,具体是关于在terraform中为azure function apps设置java版本的问题。
这是正确的做法:
site_config {
linux_fx_version = "JAVA|11"
}
site_config 文档
使用 Azure 提供商版本 >=v2.57.0
,您可以通过 site_config
属性 java_version
.
设置 Java 版本
java_version - (Optional) Java version hosted by the function app in Azure. Possible values are 1.8, 11.
resource "azurerm_function_app" "function-app" {
// ..
site_config {
java_version = "11"
}
}
在 Azure 门户中,我可以设置 Java 版本,如下所示: portal image
在 terraform 配置文件中,我只能使用以下方式设置 Azure Functions 版本:
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
您可以使用 version
参数来设置与 Function App 关联的运行时版本。参见 Argument Reference。
此外,来自文档---How to target Azure Functions runtime versions
A function app runs on a specific version of the Azure Functions runtime. There are three major versions: 1.x, 2.x, and 3.x. By default, function apps are created in version 3.x of the runtime.
在这种情况下,您可以在 resource "azurerm_function_app" "function-app""
下添加参数 version = "~3"
。它会得到你预期的结果。
不知道Nancy Xiong的回答是如何被接受的,因为它没有回答问题,具体是关于在terraform中为azure function apps设置java版本的问题。 这是正确的做法:
site_config {
linux_fx_version = "JAVA|11"
}
site_config 文档
使用 Azure 提供商版本 >=v2.57.0
,您可以通过 site_config
属性 java_version
.
java_version - (Optional) Java version hosted by the function app in Azure. Possible values are 1.8, 11.
resource "azurerm_function_app" "function-app" {
// ..
site_config {
java_version = "11"
}
}