func Example_copyObjects() { // see the auth example how to initiate a context. ctx := cloud.NewContext("project-id", &http.Client{Transport: nil}) o, err := storage.Copy(ctx, "bucketname", "file1", &storage.Object{ Name: "file2", Bucket: "yet-another-bucketname", }) if err != nil { log.Fatal(err) } log.Println("copied file:", o) }
// copyFile copies a file in Google Cloud Storage. func (d *demo) copyFile(fileName string) { copyName := fileName + "-copy" fmt.Fprintf(d.w, "Copying file /%v/%v to /%v/%v:\n", d.bucket, fileName, d.bucket, copyName) dest := &storage.Object{ Name: copyName, ContentType: "text/plain", Metadata: map[string]string{ "x-goog-meta-foo-copy": "foo-copy", "x-goog-meta-bar-copy": "bar-copy", }, } obj, err := storage.Copy(d.ctx, d.bucket, fileName, dest) if err != nil { d.errorf("copyFile: unable to copy /%v/%v to bucket %q, file %q: %v", d.bucket, fileName, d.bucket, copyName, err) return } d.cleanUp = append(d.cleanUp, copyName) d.dumpStats(obj) }