在我的NodeJS应用程序中,我有一些通用代码可以被GCP中的许多其他云函数使用。但我不知道如何在多个应用程序之间共享这些代码,以减少代码冗余
我曾想过将这些文件保存在GCS中,并在NodeJS中使用该文件位置,但我确信它不会支持这种方式,因为我可能需要在使用之前下载该文件。
那么,有什么更好的方法来实现我的想法吗?
有几种方法可以解决这个问题。
在部署时(使用CI/CD,例如在Cloud Build上(,您可以复制云函数代码库中的常见依赖项,然后进行部署。这是与云函数共享常见代码的常见方式。
但是,最近的一种方法是使用Artifact注册表来存储NodeJS模块。然后,在你的云函数依赖项中,在工件注册表中引用该模块,让云函数下载它
这是一个更好的解决方案,因为你使用标准的代码打包和依赖关系,它对你的项目是私有的(除非你公开打开你的注册表(,而且你没有破解。
--
您也可以切换到Cloud Run,在那里您可以控制容器的创建并下载所需的文件。这不是云功能,但它非常相似(这是我个人的偏好(