Skip to content

Commit f308edd

Browse files
author
Jerjou Cheng
committed
Add sample for moving blob.
1 parent 5452dd2 commit f308edd

File tree

3 files changed

+27
-0
lines changed
  • google-cloud-examples/src
  • google-cloud-storage/src/main/java/com/google/cloud/storage

3 files changed

+27
-0
lines changed

google-cloud-examples/src/main/java/com/google/cloud/examples/storage/snippets/BlobSnippets.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,22 @@ public Blob copyToStrings(String bucketName, String blobName) {
172172
return copiedBlob;
173173
}
174174

175+
/**
176+
* Example of moving a blob to a different bucket with a different name.
177+
*/
178+
public Blob moveTo(Blob srcBlob, String destBucket, String destBlob) {
179+
// [START storageMoveFile]
180+
CopyWriter copyWriter = srcBlob.copyTo(destBucket, destBlob);
181+
Blob copiedBlob = copyWriter.getResult();
182+
boolean deleted = srcBlob.delete();
183+
// [END storageMoveFile]
184+
if (deleted) {
185+
return copiedBlob;
186+
} else {
187+
return null;
188+
}
189+
}
190+
175191
/**
176192
* Example of reading the blob's content through a reader.
177193
*/

google-cloud-examples/src/test/java/com/google/cloud/examples/storage/snippets/ITBlobSnippets.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,11 @@ public void testBlob() throws IOException {
105105
copiedBlob.delete();
106106
copiedBlob = blobSnippets.copyToBucket(BUCKET);
107107
assertNotNull(copiedBlob);
108+
109+
copiedBlob = blobSnippets.moveTo(copiedBlob, BUCKET, "moveBlob");
110+
assertNotNull(copiedBlob);
108111
copiedBlob.delete();
112+
109113
blobSnippets.reload();
110114
blobSnippets.writer();
111115
URL signedUrl = blobSnippets.signUrl();

google-cloud-storage/src/main/java/com/google/cloud/storage/Blob.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -543,6 +543,13 @@ public boolean delete(BlobSourceOption... options) {
543543
* Blob copiedBlob = copyWriter.getResult();
544544
* }</pre>
545545
*
546+
* <p>Example of moving a blob to a different bucket with a different name.
547+
* <pre> {@code
548+
* CopyWriter copyWriter = srcBlob.copyTo(destBucket, destBlob);
549+
* Blob copiedBlob = copyWriter.getResult();
550+
* boolean deleted = srcBlob.delete();
551+
* }</pre>
552+
*
546553
* @param targetBlob target blob's id
547554
* @param options source blob options
548555
* @return a {@link CopyWriter} object that can be used to get information on the newly created

0 commit comments

Comments
 (0)