2017-04-27 110 views
3

我在玩Google Cloud Functions API,我很困惑如何以正确的方式使用它,让一个简单的REST API从数据库中检索一些数据并用它需要的数据响应客户端。在哪里存储和检索Google Cloud Functions API的数据?

我正在使用无服务器来部署我的代码,看起来像这样的函数。

exports.http = (request, response) => { 
    response.status(200).send('Hello World!'); 
}; 

但这只是一个简单的200 (OK)响应,没有来自数据库的数据。

来自像MVC框架,如Rails或Django我会写一个控制器操作来从我的数据库中检索一些数据,并为响应呈现一个JSON,但Google Cloud Functions的工作方式与其他功能不同。

我应该在哪里存储我的数据库(使用Google Cloud Services)以及如何检索函数中的数据?我是否必须调用某种数据库API并处理结果并在函数内将其作为JSON发回?

回答

2

使用Google云端函数,您通常使用托管数据库(例如Firebase实时数据库)作为持久存储。在这种情况下,您可以使用GCF作为Firebase数据库的API网关。

你也可以启动你自己的VM来运行你喜欢的数据库。然后,这将在前面的示例中扮演Firebase数据库的角色,并且您仍然使用GCF作为API网关。

在这两种方法中,您有两个微服务:数据库本身是一个服务,而GCF函数是包装数据库的服务。

最后的选择是将数据库部署到您的函数运行的GCF容器中。然后,您可以从函数代码连接到此数据库,而无需连接到外部服务。有关将自定义二进制文件部署到GCF容器的一些其他信息,请参阅this answer

+1

经过快速测试,Firebase看起来非常棒。我只是上传了一个图片到firebase和一个上传后挂钩的函数来生成一个拇指。花哨! – Dude

+0

欢迎来到无服务器的未来! :-) –