如何通过Terraform设置Azure Function的平台位数?
解决Azure Function Terraform部署默认32位的问题
要将Azure Function切换为64位运行环境,核心配置需在App Service Plan资源中完成——因为Function App的运行位数由其关联的App Service Plan决定,具体操作如下:
1. 修改App Service Plan配置
在azurerm_app_service_plan资源中添加reserved = true属性,此配置用于启用Windows平台下的64位运行环境:
resource "azurerm_app_service_plan" "plan" { count = length(var.resource_groups) name = "${var.name}-asp${count.index + 1}" location = var.resource_groups[count.index].location resource_group_name = var.resource_groups[count.index].name kind = "FunctionApp" # 启用64位运行环境 reserved = true sku { tier = var.app_service_plan_tier size = var.app_service_plan_size } tags = var.tags }
2. 验证Function App应用设置
确保app_settings中没有强制指定32位的配置,同时根据实际运行时需求补充必要配置,示例如下:
locals { app_settings = { FUNCTIONS_WORKER_RUNTIME = "dotnet" # 替换为你的实际运行时,如node/python等 WEBSITE_RUN_FROM_PACKAGE = "1" # 其他自定义配置项 } }
补充说明
reserved = true是Windows平台下启用64位Function App的关键配置,Terraform默认该属性为false,对应32位环境。- 若使用Linux平台的Function App,无需设置
reserved属性——Linux环境默认支持64位,只需确保App Service Plan的SKU符合要求即可。
内容的提问来源于stack exchange,提问作者Brendan Murphy
相关产品推荐
相关产品推荐

