You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过Terraform创建Azure Linux Function App函数遇400错误求助

问题描述

更新Python脚本后执行terraform plan失败,报错如下:

│ Error: 检索函数(订阅:"****"
│ 资源组名称:"****"
│ 站点名称:"crln-irxsot-dev-fa"
│ 函数名称:"crln-irxsot-pic-dev-function-test"):意外状态码400(400 Bad Request),响应内容:{"Code":"BadRequest","Message":"Encountered an error (InternalServerError) from host runtime.","Target":null,"Details":[{"Message":"Encountered an error (InternalServerError) from host runtime."},{"Code":"BadRequest"},{"ErrorEntity":{"Code":"BadRequest","Message":"Encountered an error (InternalServerError) from host runtime."}}],"Innererror":null}
│
│ 检索函数(订阅:"****"
│ 资源组名称:"****"
│ 站点名称:"crln-irxsot-dev-fa"
│ 函数名称:"crln-irxsot-pic-dev-function-test"):意外状态码400
│ (400 Bad Request),响应内容:
│ {"Code":"BadRequest","Message":"Encountered an error (InternalServerError)
│ from host runtime.","Target":null,"Details":[{"Message":"Encountered an
│ error (InternalServerError) from host
│ runtime."},{"Code":"BadRequest"},{"ErrorEntity":{"Code":"BadRequest","Message":"Encountered
│ an error (InternalServerError) from host runtime."}}],"Innererror":null}
╵
操作失败:执行terraform plan失败(退出码1)

相关Terraform模块配置:

module "terraform-azurerm-function-app-function-sot"{
  source                  = "cps-terraform.zzzxx.com/IRX/terraform-azurerm-function-app-function/azurerm"
  version                 = "0.0.1"
  name                    = "crln-irxsot-pic-dev-fun"
  function_app_id         = module.terraform_linux_asp_function_app-sot.id
  config_json = {
    "bindings" = [
      {
        "authLevel" = "FUNCTION"
        "direction" = "IN"
        "name"      = "myblob"
        "type"      = "blobTrigger"
        "path"      =  "crln-rxsot-pic/INBOUND/{name}"
        "connection" = "AzureWebJobsStorage"
      },
 
    ]
    "entryPoint"        = "blob_trigger_function"
    "functionDirectory" = "/home/site/wwwroot"
    "language"          = "python"
    "name"              = "BlobTriggerFunction"
    "scriptFile"        = "function_app.py"
  }
  file = {
    name    = "function_app.py"
    content = file("function_app.py")
  }
}
排查与解决办法
  • 检查Python脚本有效性

    • 本地执行python -m py_compile function_app.py检测语法错误,有问题会直接抛出提示。
    • 确认脚本中存在config_json里指定的entryPoint(即blob_trigger_function)函数,且参数符合Blob触发器要求(比如接收myblob参数)。
  • 排查Function App运行时状态

    • 登录Azure门户,进入目标Function App的「诊断和解决问题」页面,搜索InternalServerError获取具体报错日志。
    • 重启Function App实例,之后重新执行terraform plan。
  • 修正Terraform配置问题

    • 检查functionDirectory路径:Linux环境下单函数部署需指定到具体函数目录(比如/home/site/wwwroot/BlobTriggerFunction),当前配置可能导致运行时找不到正确入口。
    • 确认bindings中的AzureWebJobsStorage连接字符串已在Function App的应用设置中配置,且值有效。
  • 升级Terraform模块版本
    当前使用的模块版本0.0.1为早期版本,可能存在Azure API兼容问题,尝试升级到最新稳定版本,或查看模块仓库的issue列表确认是否有相关修复。

内容的提问来源于stack exchange,提问作者user30395462

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 06:51:21