Dalam Enjin Aplikasi Google (GAE), adalah penting untuk memahami pendekatan yang sesuai untuk mencipta pelanggan Firestore. Artikel ini menangani kebimbangan ini dengan mengkaji penciptaan klien berasaskan konteks dan perubahan terkini dengan masa jalan Golang 1.11 dalam GAE.
Klien Skop Konteks
GAE menggunakan pendekatan konteks berskop, menekankan penggunaan konteks.Konteks daripada http.Request. Ini bermakna setiap permintaan harus mempunyai konteks khusus.Konteks yang boleh dimanfaatkan oleh perpustakaan pelanggan.
Pelaksanaan Sebelumnya
Dalam versi GAE yang lebih awal, mencipta satu Firestore pelanggan dan menggunakannya merentas pelbagai permintaan adalah tidak praktikal. Ini disebabkan oleh pengehadan dalam masa jalan Golang yang lebih lama dalam standard GAE. Akibatnya, adalah perlu untuk mencipta klien Firestore baharu untuk setiap permintaan.
Pelaksanaan Semasa dengan Golang 1.11 Runtime
Dengan pengenalan Golang 1.11 runtime dalam Standard GAE, senario ini telah berubah. Pembangun kini boleh memilih mana-mana konteks yang mereka inginkan untuk permulaan klien Firestore. Ini memberikan fleksibiliti dalam memulakan klien dalam fungsi main() atau init(), menggunakan konteks latar belakang. Selepas itu, panggilan API boleh dibuat dalam pengendali permintaan menggunakan konteks permintaan.
Pendekatan Idiomatik
Pendekatan pilihan dalam landskap GAE semasa ialah menggunakan semula tika klien Firestore untuk pelbagai seruan. Coretan kod berikut menunjukkan pendekatan ini:
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 }
Dalam contoh ini, klien dimulakan dalam fungsi init() menggunakan konteks latar belakang. Pengendali permintaan kemudiannya boleh menggunakan r.Context() untuk membuat panggilan API Firestore.
Dengan menerima pendekatan ini, pembangun boleh mengoptimumkan penggunaan sumber dan memastikan gelagat yang konsisten merentas permintaan GAE.
Atas ialah kandungan terperinci Bagaimanakah Saya Harus Mencipta Klien Firestore dalam Enjin Apl Google?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!