3

Ich spiele mit der Google Cloud-Funktionen-API und bin verwirrt darüber, wie ich es richtig für eine einfache REST-API verwenden kann, um einige Daten aus einer Datenbank abzurufen und dem Client mit den benötigten Daten zu antworten.Wo können Daten für die Google Cloud Functions API gespeichert und abgerufen werden?

Ich verwende Serverless, um meinen Code, der für eine Funktion wie folgt aussieht, bereitzustellen.

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

aber das ist nur eine einfache 200 (OK) Antwort ohne Daten aus einer Datenbank.

Aus MVC-Frameworks wie Rails oder Django würde ich eine Controller-Aktion schreiben, um einige Daten aus meiner Datenbank zu erhalten und ein JSON für die Antwort zu rendern, aber Google Cloud Functions funktioniert anders, nur mit Funktionen und nichts anderes.

Wo sollte ich meine Datenbank speichern (mit Google Cloud Services) und wie kann ich die Daten in einer Funktion abrufen? Muss ich irgendeine Art von Datenbank API aufrufen und das Ergebnis verarbeiten und es als JSON innerhalb einer Funktion zurückschicken?

Antwort

2

Mit Google Cloud-Funktionen verwenden Sie normalerweise eine gehostete Datenbank, z. B. die Firebase Realtime Database, für den persistenten Speicher. In diesem Szenario würden Sie GCF als API-Gateway für die Firebase-Datenbank verwenden.

Sie können auch Ihre eigene VM hochfahren, die eine Datenbank Ihrer Wahl ausführt. Dies würde dann die Rolle der Firebase-Datenbank im vorherigen Beispiel übernehmen und Sie würden GCF weiterhin als API-Gateway verwenden.

Bei diesen beiden Ansätzen gibt es zwei Micro-Services: Die Datenbank selbst ist ein Service, und die GCF-Funktion (en) sind ein Service, der die Datenbank umschließt.

Eine letzte Option ist die Bereitstellung einer Datenbank im GCF-Container, in dem Ihre Funktionen ausgeführt werden. Sie können dann eine Verbindung zu dieser Datenbank über Ihren Funktionscode herstellen, ohne eine Verbindung zu einem externen Dienst herstellen zu müssen. Weitere Informationen zum Bereitstellen einer benutzerdefinierten Binärdatei im GCF-Container finden Sie unter this answer.

+1

Wow nach einem kurzen Test Firebase sieht ziemlich genial aus. Ich habe gerade ein Bild auf Firebase hochgeladen und eine Funktion nach dem Upload angehakt, um einen Daumen zu erzeugen. schick! – Dude

+0

Willkommen in Ihrer serverlosen Zukunft! :-) –

Verwandte Themen