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

歡迎來到無服務器的未來! :-) –