Heim > Backend-Entwicklung > Golang > Wie soll ich Firestore-Clients in Google App Engine erstellen?

Wie soll ich Firestore-Clients in Google App Engine erstellen?

Barbara Streisand
Freigeben: 2024-11-20 03:44:02
Original
607 Leute haben es durchsucht

How Should I Create Firestore Clients in Google App Engine?

Erstellen von Firestore-Clients in Google App Engine

In Google App Engine (GAE) ist es wichtig, den geeigneten Ansatz zum Erstellen von Firestore-Clients zu verstehen. Dieser Artikel befasst sich mit diesem Problem, indem er die kontextbasierte Client-Erstellung und die jüngsten Änderungen mit der Golang 1.11-Laufzeit in GAE untersucht.

Kontextbezogene Clients

GAE verwendet a kontextbezogener Ansatz, wobei der Schwerpunkt auf der Verwendung von context.Context aus http.Request liegt. Das bedeutet, dass jede Anfrage einen dedizierten Kontext haben sollte. Kontext, der von Client-Bibliotheken genutzt werden kann.

Vorherige Implementierung

In früheren Versionen von GAE wurde ein einzelner Firestore erstellt Client und die Verwendung über mehrere Anfragen hinweg war unpraktisch. Dies war auf Einschränkungen in der älteren Golang-Laufzeit im GAE-Standard zurückzuführen. Daher war es notwendig, für jede Anfrage einen neuen Firestore-Client zu erstellen.

Aktuelle Implementierung mit Golang 1.11 Runtime

Mit der Einführung der Golang 1.11 Runtime in GAE-Standard, dieses Szenario hat sich geändert. Entwickler können jetzt jeden gewünschten Kontext für die Initialisierung des Firestore-Clients auswählen. Dies bietet Flexibilität bei der Initialisierung des Clients in den Funktionen main() oder init() unter Verwendung des Hintergrundkontexts. Anschließend können API-Aufrufe innerhalb von Anforderungshandlern mithilfe des Anforderungskontexts durchgeführt werden.

Idiomatischer Ansatz

Der bevorzugte Ansatz in der aktuellen GAE-Landschaft ist die Wiederverwendung der Firestore-Client-Instanz für mehrere Aufrufe. Der folgende Codeausschnitt veranschaulicht diesen Ansatz:

package main

import (
    "context"

    firestore "cloud.google.com/go/firestore"
)

var client *firestore.Client

func init() {
    var err error
    client, err = firestore.NewClient(context.Background(), "my-project-id")
    // handle errors as needed
}

func handleRequest(w http.ResponseWriter, r *http.Request) {
    doc := client.Collection("cities").Doc("Mountain View")
    doc.Set(r.Context(), someData)
    // rest of the handler logic
}
Nach dem Login kopieren

In diesem Beispiel wird der Client in der Funktion init() unter Verwendung des Hintergrundkontexts initialisiert. Anforderungshandler können dann r.Context() verwenden, um Firestore-API-Aufrufe durchzuführen.

Durch diesen Ansatz können Entwickler die Ressourcennutzung optimieren und ein konsistentes Verhalten bei allen GAE-Anfragen sicherstellen.

Das obige ist der detaillierte Inhalt vonWie soll ich Firestore-Clients in Google App Engine erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage