我想从Google Cloud Function或Firebase Cloud Function访问外部数据库(mongodb)。我不想每次都创建数据库连接。是否有选项可以将数据库连接存储在全局变量中并在每次调用中使用它。
您实际上可以在 Cloud Function 中执行此操作,但您将无法控制何时重新创建与数据库的连接以及何时重用。如果在正在执行的函数之外的全局范围内创建连接对象,则只有在发生冷启动时才会执行该代码段。但是您将无法知道何时发生冷启动,因此重用相同的连接不受您的绝对控制。查看有关云函数范围的文档。
此外,还有其他方法可以做您想做的事并将其置于您的控制之下。例如,您可以让 Google App Engine 应用程序托管您的数据库连接,然后让 Google Cloud Function 将请求发送到 GAE 应用程序。
这样,您的 GCF 就不会处理打开和关闭连接的问题。服务将执行此操作,并且只要服务保持运行,连接将保持打开状态。