Python Azure Function本地正常,部署后无HTTP触发器,如何获取日志排查?
开启函数应用的详细日志记录
直接进Azure门户的函数应用,找「平台功能」里的「应用服务日志」,打开「文件系统日志」,把日志级别设为「详细」后保存。之后通过「日志流」实时查看,或者下载日志文件,这里面会记录函数启动时触发器绑定的解析细节,能看到加载失败的具体原因。用Kudu(SCM站点)看启动日志
访问函数应用的SCM站点(地址是https://<你的函数应用名>.scm.azurewebsites.net),进入「Debug console」→「CMD」,导航到D:\home\LogFiles\Application\Functions\Host目录,查看最新的host.log文件,里面会明确记录函数加载时的错误,比如模块导入失败、绑定配置写错了之类的。核对Python运行时配置
在Azure门户的函数应用「配置」→「应用程序设置」里,确认FUNCTIONS_WORKER_RUNTIME是python,PYTHON_VERSION和你本地开发环境一致(比如3.9或3.10),同时检查FUNCTIONS_EXTENSION_VERSION用的是稳定版(比如~4),避免版本不兼容导致触发器加载失败。手动触发函数并追踪日志
在SCM站点的「Functions」页面,手动触发有问题的函数,看返回的错误详情;或者用Azure CLI执行az functionapp log tail --name <函数应用名> --resource-group <资源组名>,实时盯着日志输出,能抓到函数加载时的异常。检查函数元数据文件
在SCM站点的D:\home\site\wwwroot目录下,确认有问题的函数文件夹里的function.json配置正确——特别是bindings里的type必须是httpTrigger,direction是in,authLevel配置也要符合预期。另外看看根目录的host.json里有没有extensions.http的配置,会不会覆盖了默认的触发器行为。
内容的提问来源于stack exchange,提问作者bdx

