You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用gcloud functions deploy更新现有函数时总是创建新函数的问题

解决Cloud Functions Gen2 CLI更新内存时创建新函数的问题

你遇到的问题核心在于:更新现有Cloud Functions Gen2时,必须保证CLI命令的关键参数完全匹配已部署函数的配置,任何参数不匹配都会触发创建新函数。

正确操作步骤

  1. 先确认现有函数的完整配置,避免参数不匹配:

    gcloud functions describe {func_name} --gen2 --project={proj_name} --region={region_name}
    

    执行后会输出函数的触发器类型、运行时、区域等核心信息,这些参数必须在后续更新命令中保持一致。

  2. 执行更新内存的命令,仅保留必要的匹配参数+内存配置:
    假设你的函数是HTTP触发器、nodejs18运行时、指定区域和项目,命令应为:

    gcloud functions deploy {func_name} --gen2 --project={proj_name} --region={region_name} --memory=512MB --trigger-http --runtime nodejs18
    

    注意:如果不需要更新代码,不要加--source=.,这个参数会强制上传本地代码,若本地配置和云端有差异也可能导致创建新函数。

常见踩坑点

  • 遗漏--region:GCP的默认区域如果和函数所在区域不一致,会直接在默认区域创建新函数
  • 触发器参数不匹配:比如现有函数是HTTP触发器,但命令漏了--trigger-http,或者误用了其他触发器参数
  • 项目参数错误:没指定--project时会用gcloud默认项目,若和函数所在项目不同,会在默认项目下创建新函数
  • 函数名称拼写错误:GCP对函数名称的大小写、字符严格区分,哪怕差一个字符都会视为新函数

你通过控制台能成功更新,是因为控制台直接读取现有函数的所有配置,只修改内存参数;而CLI需要你显式指定所有关键参数来匹配目标函数,否则会默认创建新函数。

内容的提问来源于stack exchange,提问作者Ariel M

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 05:52:05