我正在尝试将Azure函数的平台更改为64位以兼容新的dll或项目需求。我只是无法找到相应的terraform键来设置此Azure函数字段。问题是terraform当前默认为32位,因此无论何时我部署字段更改。x1c 0d1x如有任何帮助,将不胜感激。谢谢!
我试过查看Microsoft documentation中的一些app_settings键,但似乎没有一个键与平台版本有明显的联系,我也试过查看terraform documentation中的键,但也没有一个键跳出来。
这是我的terraform,没有显示app_settings
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"
sku {
tier = var.app_service_plan_tier
size = var.app_service_plan_size
}
tags = var.tags
}
resource "azurerm_function_app" "function" {
count = length(azurerm_app_service_plan.plan.*)
name = "${var.name}${count.index + 1}"
location = azurerm_app_service_plan.plan[count.index].location
resource_group_name = azurerm_app_service_plan.plan[count.index].resource_group_name
app_service_plan_id = azurerm_app_service_plan.plan[count.index].id
storage_account_name = var.storage_account_name
storage_account_access_key = var.storage_account_access_key
app_settings = local.app_settings
version = "~2"
https_only = true
tags = var.tags
}
3条答案
按热度按时间igetnqfo1#
管理工作线程配置的资源是
azurerm_function_app
资源。将属性use_32_bit_worker_process设置为true将在32位平台上运行应用程序,这是默认值。
将
use_32_bit_worker_process
显式设置为false
,并确保使用Free或Shared之外的任何其他层,如文档中所述:在自由层或共享层中使用应用服务计划时,必须将use_32_bit_worker_process设置为true。
col17t5w2#
Javierlga是正确,
在站点配置块中将use_32_bit_worker_process设置为false。
更多信息:
https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/function_app#use_32_bit_worker_process
bq9c1y663#
您可以在azurerm_windows_function_app资源中设置工作线程的位数。
将
use_32_bit_worker
设置为假。注意:azurerm_function_app已弃用,并已由
windows_function_app
或azurerm_linux_function_app
超级设定