您可以调用特定版本的 Google 云函数吗?

Can you call specific versions of a Google Cloud function?

我们有一堆依赖于 Google 云功能的应用程序 - 在更新云功能和更新应用程序之间存在异步。

假设我们先更新 Cloud Function,然后应用程序中断。但是,如果我们先更新应用程序,它将无法使用当前版本的云功能。

解决此问题的一种方法是能够指定要执行的云函数版本。这可能吗?

非常感谢!

Cloud Functions 中没有内置版本控制方案。当您更新功能时,它会立即推出。


如果您想要这样的版本控制,您当然可以将其包含在您使用的命名方案中。因此,如果您想要以不兼容的方式更新现有 myFunction,请部署 myFunction_v2

随着 v1 客户端消失,您可以再次将版本化 v2 函数更新为默认 myFunction


或者,您可以在代码本身和调用中包含版本号。因此,让每个客户端传递它期望获得的功能版本,然后让服务器端代码进行条件检查:

if (context.params.api_version === 1) {
  ... behavior 1
}
else if (context.params.api_version === 2) {
  ... behavior 2
}