I am a newer of Google Cloud.
I follow this command "gcloud storage cp gs://SOURCE_BUCKET_NAME/SOURCE_OBJECT_NAME gs://DESTINATION_BUCKET_NAME/NAME_OF_COPY" to rename an object.
Reference link:
https://cloud.google.com/storage/docs/copying-renaming-moving-objects
I want to rename/move a file in the same bucket.
But I fail to rename or move a file whose size is over 5MB, I get this error:
D:\Program Files (x86)\Google\Cloud SDK>gcloud storage mv gs://one-version/Folder5/15M.bin gs://one-version/Folder5/15M_1.bin
Copying gs://one-version/Folder5/15M.bin to gs://one-version/Folder5/15M_1.bin
⠧ERROR: HTTPError 400: Rewriting objects created via Multipart Upload is not implemented yet. As a workaround, you can use compose to overwrite the object (by specifying one-version/Folder5/15M.bin as both the source and output of compose) prior to rewrite.
I don't quite understand how to "use compose to overwrite the object".
I also try to rename or move this file on Console UI, I get error: Unable to rename object. Invalid argument.
In fact, I rename a file < 5MB successfully on Console UI, so I do not know what "invalid argument" means.
My question is:
In the same bucket, how can I rename or move a file whose size is greater than 5MB via Client Library and gcloud ?
Instead of using "gcloud storage mv", have a look at the "gsutil mv" command and try that. It may be that "gcloud storage mv" isn't fully implemented yet. My reasoning on that statement is the phrase "Rewriting objects created via Multipart Upload is not implemented yet". Try the gsutil as an alternate and see if that works.