【问题标题】:cloud functions v2 memory constraint云函数 v2 内存约束
【发布时间】:2023-02-20 12:38:50
【问题描述】:

我是 GCP 的新手,正在尝试部署内存限制稍高的功能(第 2 代云功能支持高达 32GB 的内存)。函数代码有效并且已经部署为云函数。现在我只想增加分配给函数的内存。

P.S 我尝试使用 gcp 控制台增加分配的内存,但它失败了(没有错误,只是无休止地加载)

P.S 我看到 gen2 功能实际上部署为云运行应用程序。 --cpu 是云运行的有效参数,但不是云功能的有效参数。或者,我尝试将该函数部署为云运行作业。但是,该服务仅在 us-central-1 区域可用。

下面是我的命令:

gcloud 函数部署 loadtobigquery --gen2 --runtime python38 --region asia-south1 --trigger-http --memory 1G --timeout 600

但是我收到以下错误。

错误:(gcloud.functions.deploy) INVALID_ARGUMENT:无法更新 Cloud Run 服务 loadtobigquery。 spec.template.spec.containers[0].resources.limits.memory:为内存指定的值无效。对于 0.166 CPU,内存必须在 128Mi 和 512Mi 之间(含)。 更多故障排除指导,见https://cloud.google.com/run/docs/configuring/memory-limits

我尝试使用 --cpu 标志增加 cpu 分配,但这不是云函数的有效参数。

【问题讨论】:

    标签: google-cloud-platform google-cloud-functions


    【解决方案1】:

    我有同样的问题。在首次创建函数后似乎无法更改此设置。一个(不是很优雅)的解决方案可能是从 GCP 的 Cloud Functions 界面中删除当前的 cloud function。然后再次运行部署代码

    gcloud functions deploy loadtobigquery --gen2 --runtime python38 --region asia-south1 --trigger-http --memory 1GiB --timeout 600
    

    这对我有用。请注意,我还将内存更改为 1GiB 而不是 1G。我不知道这是否有任何区别。

    注意。它应该保持相同的 URL。

    【讨论】:

    • 是的,我做了同样的事情(删除并再次部署)。我不确定该网址是否可靠。它似乎是相同的,但 GCP 文档没有提及任何相关内容。它只是说 URL 当前是不确定的,并且不会随着对函数的修改而改变。 cloud.google.com/functions/docs/concepts/version-comparison
    【解决方案2】:

    将此添加到您的参数

    --max-instances=29
    

    或将其添加到控制台中,它将部署

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-21
      • 2012-08-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多