我正在将我的 Golang AppEngine 应用程序迁移到 1.12+,我需要切换到cloud.google.com/go/datastore
. 我不清楚如何将它与 AppEngine 一起使用,有人可以验证我的假设吗?
我的假设是main()
我可以在里面的某个地方运行(注意context.Background()
):
db, err := datastore.NewClient(context.Background(), datastore.DetectProjectID)
if err != nil {
panic(err)
}
defer db.Close()
然后从我的处理程序中,我可以使用该数据库:
func blah(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
key := datastore.NameKey("blah", blah, nil)
db.Get(ctx, key, blah2)
}
我对么?还是我需要datastore.NewClient()
与每个 Web 处理程序分开运行?