从ctx, ctxErr := appengine.Namespace(ctx, "MyContext")
获取上下文后,我希望ctx
名称空间填充MyContext
代码
import (
...
"golang.org/x/net/context"
"google.golang.org/appengine"
)
ctx := appengine.NewContext(r)
ctx, ctxErr := appengine.Namespace(ctx, "MyContext")
if ctxErr != nil {
log.Errorf(ctx, "Failed to obtain custom namespace context, error:%s", ctxErr.Error())
//use default if all else fails
ctx = appengine.NewContext(r)
}
但事实并非如此,因此导致所有名称空间感知API都使用默认名称空间。
转储ctx产生以下内容(参见黄色边界输出)
示例应用
使用您的项目ID填充projectID := ""
,确保您已在开发环境中执行了身份验证并运行go run /example/app/main.go
答案 0 :(得分:2)
google api go libs的混合,导致了这个问题。
简答
Google Cloud API库有两种不同的风格,问题是由下面的库中的lib功能混合引起的。