【发布时间】:2017-04-21 01:18:00
【问题描述】:
我正在尝试使用 GAE/Go 在命名空间 MyNameSpace 中存储数据存储记录,但下面的代码不起作用。
import (
"cloud.google.com/go/datastore"
"github.com/gin-gonic/gin"
"google.golang.org/appengine"
)
func Save(c *gin.Context, list []MyStruct) ([]MyStruct, error) {
r := c.Request
ctx := appengine.NewContext(r)
ctx_with_namespace, err := appengine.Namespace(ctx, "MyNameSpace")
if err != nil {
return nil, err
}
client, err := datastore.NewClient(ctx_with_namespace, "MyProject")
if err != nil {
return nil, err
}
var keyList []*datastore.Key
for _, v := range list {
key := datastore.NameKey("MyStruct", v.ColA, nil)
keyList = append(keyList, key)
}
_, err = client.PutMulti(ctx_with_namespace, keyList, list)
return list,nil
}
此代码在默认命名空间中创建记录,而不是 MyNameSpace。
cloud.google.com/go/datastore 是否忽略命名空间设置?
【问题讨论】:
标签: google-app-engine go google-cloud-datastore