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

创建Azure Functions项目时遭遇functionName空值内部错误求助

解决Azure Functions创建时Internal error: Expected value to be neither null nor undefined: functionName错误

以下是针对该错误的分步排查与修复方案:

1. 检查函数的function.json配置

每个Azure Function必须包含function.json配置文件,且文件中必须明确指定functionName字段,同时要与Python代码中@app.function_name()装饰器的参数值保持一致。

  • 正确的function.json示例(以Blob触发器为例):
    {
      "scriptFile": "__init__.py",
      "bindings": [
        {
          "name": "myblob",
          "type": "blobTrigger",
          "direction": "in",
          "path": "input-container/{name}",
          "connection": "AzureWebJobsStorage"
        }
      ],
      "functionName": "process_document_blob"
    }
    
  • 如果functionName字段缺失或为空,会直接触发该错误;若字段值与代码中装饰器的名称不一致,也可能导致初始化失败。

2. 验证Azure Core Tools的安装状态

  • 打开终端执行func --version,确认工具已正确安装且版本为v4(Python函数推荐使用v4版本,v3版本对Python的支持已逐步终止)。
  • 若命令无输出或报错,说明安装不完整,需重新下载并安装对应版本的Azure Core Tools,安装完成后重启终端确保环境变量生效。

3. 确认Python环境配置正确

  • Azure Functions仅支持特定版本的Python(当前为3.8、3.9、3.10、3.11),执行python --version确认本地Python版本符合要求。
  • 创建函数项目时,需确保使用对应版本的虚拟环境,或在初始化时指定正确的Python解释器路径:
    func init DocProcessingFunction --worker-runtime python --python-exe /usr/bin/python3.10
    
  • 若虚拟环境未激活或解释器路径错误,会导致Azure Core Tools无法正确识别函数定义。

4. 重新生成干净的函数项目

如果之前手动修改过项目文件导致结构损坏,建议重新创建项目:

  1. 执行func init创建新项目,选择Python作为运行时。
  2. 进入项目目录,执行func new创建Blob触发器函数,按提示输入函数名称。
  3. 将原有业务代码迁移到新项目中,保持默认的文件结构与配置不变。

5. 检查local.settings.json配置

项目根目录的local.settings.json需确保AzureWebJobsStorage字段配置正确:

  • 本地调试时可使用存储模拟器,配置值为"AzureWebJobsStorage": "UseDevelopmentStorage=true"。
  • 若该字段为空或配置错误,会导致函数初始化失败,间接引发functionName相关错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 08:23:27