如何检索Google Cloud Function的先前部署版本
检索Google Cloud Function先前版本的可行方案
可以正常检索到Cloud Function的历史版本,你之前搜索存储旧版本的bucket未找到资源,基本是定位路径、权限或者函数代际的问题,按以下步骤操作即可:
- 先确认目标函数的部署代际与所在区域:
第一代(1st gen)函数的历史版本源码统一存在对应区域自动创建的存储桶中,桶名规则为gcf-sources-<项目关联的随机数字ID>-<区域标识>,比如部署在us-central1的函数,对应桶一定在us-central1区域下,不会跨区域存放,全局无筛选搜索很容易漏过目标桶。 - 确认操作账号的权限:
你需要持有目标项目下至少storage.objects.list、storage.objects.get的存储权限,无对应权限时就算桶存在也无法在存储列表中检索到、更无法查看内部内容。 - 找到对应存储桶后,进入以目标函数名命名的目录,内部会按部署版本号分文件夹存放所有历史版本的源码压缩包,直接下载对应版本即可获取旧版本资源。
- 如果你用的是第二代(2nd gen)Cloud Function,不需要翻存储桶,直接用gcloud命令即可拉取全量版本列表:
拿到目标版本号后,执行以下命令即可查看该版本的全量配置、源码存储路径等信息:gcloud functions versions list <你的函数名称> --region=<函数部署区域> --gen2gcloud functions describe <你的函数名称> --region=<函数部署区域> --gen2 --version=<目标版本号>
注意:如果你之前手动删除过
gcf-sources前缀的关联存储桶,或者给桶配置过自动删除历史对象的生命周期规则,那被清理的旧版本源码会被永久移除,无法通过官方渠道找回。
内容的提问来源于stack exchange,提问作者sempakonka
相关产品推荐
相关产品推荐

