// listBucket lists the contents of a bucket in Google Cloud Storage. func (d *demo) listBucket() { io.WriteString(d.w, "\nListbucket result:\n") query := &storage.Query{Prefix: "foo"} for query != nil { objs, err := storage.ListObjects(d.ctx, bucket, query) if err != nil { d.errorf("listBucket: unable to list bucket %q: %v", bucket, err) return } query = objs.Next for _, obj := range objs.Results { d.dumpStats(obj) } } }
func (d *demo) listDir(name, indent string) { query := &storage.Query{Prefix: name, Delimiter: "/"} for query != nil { objs, err := storage.ListObjects(d.ctx, bucket, query) if err != nil { d.errorf("listBucketDirMode: unable to list bucket %q: %v", bucket, err) return } query = objs.Next for _, obj := range objs.Results { fmt.Fprint(d.w, indent) d.dumpStats(obj) } for _, dir := range objs.Prefixes { fmt.Fprintf(d.w, "%v(directory: /%v/%v)\n", indent, bucket, dir) d.listDir(dir, indent+" ") } } }