func init() {
http.HandleFunc("/", handler)
}
func handler(w http.ResponseWriter, r *http.Request) {
ctx := appengine.NewContext(r)
client, err := storage.NewClient(ctx, option.WithHTTPClient(urlfetch.Client(ctx)))
if err != nil {
log.Errorf(ctx, "storage.NewClient: %v", err)
return
}
obj := client.Bucket(bucket).Object(object).NewWriter(ctx)
if _, err := io.Copy(obj, strings.NewReader("hello")); err != nil {
log.Errorf(ctx, "io.Copy: %v", err)
return
}
if err := obj.Close(); err != nil {
log.Errorf(ctx, "obj.Close: %v", err)
return
}
}
google.golang.org/cloud/storage/acl.go:65: invalid type assertion: v.(map[string]<inter>) (non-interface type *storage.ObjectAccessControl on left)
google.golang.org/cloud/storage/acl.go:144: invalid type assertion: v.(map[string]<inter>) (non-interface type *storage.ObjectAccessControl on left)
google.golang.org/cloud/storage/storage.go:49: undefined: storage.DevstorageFull_controlScope
google.golang.org/cloud/storage/storage.go:53: undefined: storage.DevstorageRead_onlyScope
google.golang.org/cloud/storage/storage.go:57: undefined: storage.DevstorageRead_writeScope
My simplified GAE app is:
When I deploy with
gcloud app deployI get this error: