Firebase Cloud Scheduler报错Not Found:第二代云函数调度异常求助
解决第二代Firebase调度云函数NOT_FOUND错误
核对调度任务的目标URL
Cloud Scheduler自动生成的HTTP目标可能指向错误地址。前往Cloud Scheduler控制台,查看对应任务的目标URL,确认是否与Firebase云函数部署后的URL一致(格式为https://<region>-<project-id>.cloudfunctions.net/onScheduleEvent)。若不一致,手动更新为正确的函数URL。确认云函数部署状态
执行命令firebase functions:list检查onScheduleEvent函数的部署状态,确保函数处于活跃状态,且区域设置与调度任务的区域匹配。若函数部署失败或区域不匹配,会导致调度任务无法找到目标。配置正确的IAM权限
无需开放allUsers权限,应给Cloud Scheduler的服务账号分配调用权限:- 找到Cloud Scheduler使用的服务账号(格式通常为
service-<project-number>@gcp-sa-cloudscheduler.iam.gserviceaccount.com) - 为该账号添加
roles/cloudfunctions.invoker角色,确保它能调用目标云函数。
- 找到Cloud Scheduler使用的服务账号(格式通常为
验证Cloud Run服务关联
第二代Firebase云函数默认部署为Cloud Run服务,确认调度任务的目标指向正确的Cloud Run服务URL,且该服务的IAM权限中包含Cloud Scheduler服务账号的调用权限。查看云函数详细日志
前往Cloud Logging,按函数名称onScheduleEvent筛选日志,而非仅查看Cloud Scheduler日志,可获取更具体的错误信息(如函数初始化失败原因)。
内容的提问来源于stack exchange,提问作者km11
相关产品推荐
相关产品推荐

