有办法停止/禁用 Google Cloud 功能吗?

问题描述 投票:0回答:8

我运行了多个 Google Cloud 功能。其中一个运行得不好,所以我想阻止它们,直到我解决了这个问题。

我已经看到我可以删除该功能,但是有没有办法禁用以及稍后;启用该功能吗?

google-cloud-functions
8个回答
27
投票

您无法禁用某项功能。只需注释函数体即可。在控制台中记录调用然后返回 null 是一个很好的做法,这样您就可以在调用函数时进行跟踪。


11
投票

跟随其他人寻找这个,我创建了一个 ENV 变量并在我的函数执行之前添加了一个 if 检查。例如:

if os.environ['functionOn'] == 'true':
    # insert previous function code here

可以通过控制台 + 重新部署更改 ENV 变量来打开/关闭功能。


1
投票

我不确定这是否已经晚了,但我所做的是删除/注释了我不需要的函数,并使用 firebase deploy --only 函数再次部署。运行后,显示该函数正在被删除。希望这有帮助GCF Deployment


1
投票

请勿导出该函数。这样您仍然可以保持它不被修改,但能够禁用它。


1
投票

我的许多云函数都会在发布/订阅主题上触发。我刚刚创建了一个名为“禁用”的主题。并将每个触发 CF 的主题的触发器更新到该已禁用的主题,并重新部署。


0
投票

没有可以用来“关闭”的按钮或开关。我更喜欢在开发时保持“单一事实来源”,所以我删除了它们。如果您的 git 中集成了 CI(如 gitlab CI),则只需单击一下即可重新部署


0
投票

2024 年更新:

如果您的函数是第 2 代,那么它由“云运行”作为服务进行管理。您仍然无法禁用它,但是...您可以禁用对它的公共网络访问:

gcloud run services update SERVICE --ingress=internal --region=REGION

其中 SERVICE 是您的云函数的小写名称。

如果您的函数附加到 VPC,您的函数仍可通过 VPC 使用,因此您可以暂时分离 VPC。

恢复公共访问:

gcloud run services update SERVICE --ingress=all --region=REGION

或在云控制台中编辑服务:https://console.cloud.google.com/run/

google cloud console

对于第 1 代云功能,您可以尝试以下操作:

gcloud run deploy CLOUD_FUNCTION_NAME --ingress=internal --image=REGION-docker.pkg.dev/PROJECT_ID/gcf-artifacts/CLOUD_FUNCTION_NAME:latest --region=REGION

这会重新部署该函数并根据最新的容器映像创建新的修订版。它在 gen2 函数上对我有用,它可能应该在 gen1 函数上起作用。

文档:

gcloud 运行服务更新:https://cloud.google.com/sdk/gcloud/reference/run/services/update

gcloud 运行部署: https://cloud.google.com/sdk/gcloud/reference/run/deploy


-5
投票

通过谷歌发现了这个,似乎你可以暂停你的函数在https://console.cloud.google.com/

中运行
© www.soinside.com 2019 - 2024. All rights reserved.