Azure Timer Trigger v2部署后函数加载失败及未显示问题求助
问题现象
部署完成后日志输出报错:
1 functions found (Custom)
0 functions loaded
同时函数名称未在Azure函数概览页面显示。
排查与解决步骤
检查函数元数据文件
确认项目中function.json文件路径正确,内容符合Timer Trigger v2规范:确保scriptFile指向正确的程序集文件(如../bin/YourProject.dll),bindings节点的type为timerTrigger,schedule表达式配置合法,且name参数与代码中的输入参数名称完全匹配。验证运行时版本配置
在Azure门户进入函数应用的「配置」-「应用程序设置」,确认FUNCTIONS_EXTENSION_VERSION设置为~2,错误的运行时版本会导致v2触发器无法兼容加载。检查部署包完整性
通过Kudu控制台(https://<你的函数应用名>.scm.azurewebsites.net)查看site/wwwroot目录结构,确认函数目录、function.json及相关程序集文件存在且未损坏。本地打包时需确保所有NuGet依赖项已正确包含在部署包内。排查代码编译与运行错误
本地使用Azure Functions Core Tools运行项目,检查是否存在编译错误或启动异常。即使部署流程显示成功,代码中的语法错误、依赖缺失会直接导致函数无法加载。开启详细日志定位根因
在Azure门户开启「应用程序日志」,将日志级别设置为Verbose,重新部署后查看完整的加载日志,日志中通常会明确提示失败原因(如依赖缺失、配置项错误)。确认存储账户权限
Timer Trigger依赖Azure存储账户维护作业状态,需确保函数应用的托管标识或服务主体对关联的存储账户拥有Storage Blob Data Contributor或更高权限,权限不足会导致触发器初始化失败。
内容的提问来源于stack exchange,提问作者Bashshar Khan

