我正在使用Google Cloud Functions API,我很困惑如何以正确的方式使用它来使用简单的REST API从数据库中检索某些数据并使用所需的数据响应客户端。
我正在使用无服务器来部署我的代码,这个代码对于一个函数来说就是这样。
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\thread \
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\mutex \
但这只是一个简单的exports.http = (request, response) => {
response.status(200).send('Hello World!');
};
响应,没有来自数据库的数据。
来自像Rails或Django这样的MVC框架我会编写一个控制器动作来从我的数据库中检索一些数据,并为响应呈现一个JSON,但Google Cloud Functions通过只有函数而不是其他任何工作。
我应该在哪里存储我的数据库(使用Google云服务)以及如何在函数中检索数据?我是否必须调用某种数据库API并处理结果并将其作为JSON发送回函数中?
答案 0 :(得分:2)
借助Google云功能,您通常会使用托管数据库(例如Firebase实时数据库)作为持久存储。在这种情况下,您可以将GCF用作Firebase数据库的API网关。
您还可以启动自己的VM来运行您喜欢的数据库。然后,这将在上一个示例中扮演Firebase数据库的角色,您仍然使用GCF作为API网关。
在这两种方法中,您有两种微服务:数据库本身就是一种服务,而GCF函数是一种包装数据库的服务。
最后一个选项是将数据库部署到运行函数的GCF容器中。然后,您可以从函数代码连接到此数据库,而无需连接到外部服务。有关将自定义二进制文件部署到GCF容器的其他信息,请参阅this answer。