名前空間MyNameSpace
にGAE/Goを使用してデータストアレコードを格納しようとしましたが、以下のコードは機能しません。GAE/Go:名前空間が機能しない
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
は名前空間の設定を無視しますか?