Google Cloud Function测试环境无法检测代码变更问题咨询
Cloud Functions 2nd Gen 在线改代码测试不生效的解决办法
排查与修复步骤
- 确认代码已保存
在线编辑代码后,务必点击编辑器顶部的「Save」按钮,未保存的修改不会同步到测试环境,测试会一直执行旧代码。 - 清理Cloud Shell构建缓存
测试功能依赖Cloud Shell构建临时镜像,缓存会导致旧代码被重复加载。在Cloud Shell中执行以下命令清理缓存:
清理完成后重新启动测试环境。gcloud builds cache delete --region=<你的函数部署区域> - 重启Cloud Shell会话
2nd Gen函数的测试环境可能复用旧会话的缓存。关闭当前Cloud Shell标签页,重新点击「Test Function」启动全新会话,新会话会重新拉取最新编辑的代码。 - 检查服务账号权限
尽管使用的是Compute Engine默认服务账号,测试环境仍需权限读取编辑后的代码快照。确认该账号拥有cloudfunctions.developer和storage.objectViewer权限,确保能访问存储函数代码的临时桶。
额外验证方式
修改代码后先点击编辑器的「Preview」确认代码已更新,再启动测试。如果问题依旧,可在Cloud Shell中执行以下命令验证代码有效性:
gcloud functions deploy <函数名> --gen2 --runtime python312 --trigger-event-filters="type=google.cloud.storage.object.v1.finalized" --trigger-event-filters="bucket=<你的存储桶名>" --dry-run
该命令会校验代码是否正确,之后再重新启动测试功能。
内容的提问来源于stack exchange,提问作者Scott C.
相关产品推荐
相关产品推荐

