已配置FUNCTIONS_WORKER_RUNTIME仍报错的Azure标准逻辑应用问题
已通过Terraform成功部署基于Windows App Service Plan的Azure标准逻辑应用,但应用仍报告以下错误:
"The 'FUNCTIONS_WORKER_RUNTIME' setting is required. Please specify a valid value. See https://go.microsoft.com/fwlink/?linkid=2257963 for more information. The application will continue to run, but may throw an exception in a future release."
Terraform脚本中已配置该环境变量,相关代码片段如下:
app_settings = { APPINSIGHTS_INSTRUMENTATIONKEY = "${data.azurerm_application_insights.appinsights.instrumentation_key}" APPLICATIONINSIGHTS_CONNECTION_STRING = "InstrumentationKey=${data.azurerm_application_insights.appinsights.instrumentation_key};IngestionEndpoint=https://uksouth-0.in.applicationinsights.azure.com/;LiveEndpoint=https://uksouth.livediagnostics.monitor.azure.com/" ApplicationInsightsAgent_EXTENSION_VERSION = "~4" FUNCTIONS_V2_COMPATIBILITY_MODE = false # https://techcommunity.microsoft.com/t5/azure-integration-services-blog/azure-logic-apps-standard-now-supports-azure-functions-v4/ba-p/3656072 # Not having the below line commented out causes the deployment to fail. # FUNCTIONS_EXTENSION_VERSION = "~4" # https://learn.microsoft.com/en-us/azure/azure-functions/functions-app-settings#functions_worker_runtime FUNCTIONS_WORKER_RUNTIME = "node" #"dotnet-isolated" WEBSITE_NODE_DEFAULT_VERSION = "~18" WORKFLOWS_TENANT_ID = data.azurerm_subscription.current.tenant_id WORKFLOWS_SUBSCRIPTION_ID = data.azurerm_subscription.current.id WORKFLOWS_LOCATION_NAME = "uksouth" WORKFLOWS_RESOURCE_GROUP_NAME = local.solution_rg WORKFLOWS_MANAGEMENT_BASE_URI = "https://management.azure.com/" }
不确定遗漏了什么配置,是否是逻辑应用与App Service Plan的参数不匹配导致此问题?
验证应用设置实际生效
部署完成后登录Azure门户,进入逻辑应用的「配置 > 应用设置」页面,确认FUNCTIONS_WORKER_RUNTIME确实存在且值为node。Terraform部署可能因同步延迟导致设置未生效,可手动点击「保存」触发应用重启。恢复FUNCTIONS_EXTENSION_VERSION配置
标准逻辑应用依赖Functions runtime,FUNCTIONS_EXTENSION_VERSION = "~4"是核心必填配置。建议先在Azure门户手动添加该设置并保存,观察错误是否消失;若有效,取消Terraform中该行的注释,同时添加WEBSITE_RUN_FROM_PACKAGE = "1"(标准逻辑应用推荐配置)后重新部署。检查App Service Plan兼容性
确认你的Windows App Service Plan满足:- 操作系统为Windows(标准逻辑应用不支持Linux计划)
- 定价层为Basic(B1)及以上(免费/共享层无法运行标准逻辑应用)
核对运行时版本匹配性
在Azure门户逻辑应用的「概述」页面,确认运行时版本为4.x(对应Functions v4),若不匹配,通过FUNCTIONS_EXTENSION_VERSION设置强制指定。手动重启应用实例
即使配置正确,部署后的应用可能未加载最新设置,手动重启逻辑应用实例,观察错误是否清除。
内容的提问来源于stack exchange,提问作者Ian Carrick

