您可以调用特定版本的 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
}
我们有一堆依赖于 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
}