通过CLI读取Google Cloud Functions(gen2)日志提示函数不存在
根因
你部署的是第二代(Gen2)Cloud Function,gcloud functions logs read命令默认仅检索第一代(Gen1)云函数资源,不会自动识别Gen2类型的函数,因此即使项目、区域、函数名参数完全正确,也会返回找不到函数的报错。从你提供的控制台地址参数env=gen2可以直接确认函数为第二代部署类型。
解决方案
- 方案1:在原日志查询命令中追加
--gen2参数,显式指定检索第二代云函数资源,修改后命令如下:
gcloud functions logs read MY_FUNCTION --region=MY_REGION --project=MY_PROJECT --gen2
- 方案2:Gen2云函数底层基于Cloud Run服务部署,可直接使用Cloud Run的日志命令查询,无需额外指定gen2参数:
gcloud run services logs read MY_FUNCTION --region=MY_REGION --project=MY_PROJECT
- 方案3:如果存在gcloud版本兼容问题,可使用Cloud Logging通用查询命令精准拉取对应函数日志:
gcloud logging read "resource.type=cloud_function AND resource.labels.function_name=MY_FUNCTION AND resource.labels.region=MY_REGION" --project=MY_PROJECT
排查前置校验:可先执行
gcloud functions list --region=MY_REGION --project=MY_PROJECT --gen2,确认本地gcloud工具可正常列出目标Gen2函数,再执行日志查询即可。
内容的提问来源于stack exchange,提问作者user19442953
相关产品推荐
相关产品推荐

