Is it a Billable Op Changing Storage Class of Existing Objects?

I was trying to change storage class of a set of existing objects (over 300 GBs) as advised in this post:

I tried it on one file first:

fyn@pod-arch:~$ gsutil ls -L gs://some-bucket/sub-dir/audioArch.mp3 gs://some-bucket/sub-dir/audioArch.mp3: Creation time: Fri, 29 Jul 2016 00:52:51 GMT Update time: Fri, 05 Aug 2016 15:40:51 GMT Storage class: DURABLE_REDUCED_AVAILABILITY Content-Language: en Content-Length: 43033404 Content-Type: audio/mpeg ... ... fyn@pod-arch:~$ gsutil -m rewrite -s coldline gs://some-bucket/sub-dir/audioArch.mp3 - [1/1 files][ 41.0 MiB/ 41.0 MiB] 100% Done Operation completed over 1 objects/41.0 MiB. fyn@pod-arch:~$ gsutil ls -L gs://some-bucket/sub-dir/audioArch.mp3 gs://some-bucket/sub-dir/audioArch.mp3: Creation time: Sun, 30 Oct 2016 23:49:34 GMT Update time: Sun, 30 Oct 2016 23:49:34 GMT Storage class: COLDLINE Content-Language: en Content-Length: 43033404 Content-Type: audio/mpeg ... ...

Then I tried it on 15 more, and then on the rest of the objects in a subdir... <strong>Works like a charm</strong> ☺, although <strong>the operation overwrites the Creation & Update times!</strong>

I had two follow-up queries though:

<ol> <li>Is gsutil rewrite operation billable?</li> <li>Can Creation time be preserved?</li> </ol>

Many thanks.




Yes, <strong>it is billable as a Class A operation</strong> (it uses storage.objects.rewrite, see cloud.google.com/storage/pricing). No, there's <strong>no way to preserve the creation/update time</strong> because rewrite creates a new object generation.

–Travis Hobrla in comment here


  • Cumulative sum of values by month, filling in for missing months
  • Is it possible to plot two variables using a third one as filter in R?
  • UNIX:Two directories with same name on the same path? [closed]
  • Consistent Client Side Date/timestamp using JavaScript(considering TimeZones)
  • Alternative to readfile()
  • AVAudioPlayer doesn't load sound
  • Gracefull shutdown for Spring boot Application
  • multiple colors on beanplot in R
  • How to generate Date Series in HIVE? (Creating table)
  • Where can in find the locale objects for d3.js for different countries
  • RewriteCond and rewriteRule to redirect depending on the domain
  • How to Cache Images Dynamically-Generated with PHP?
  • Failed to execute goal net.alchim31.maven:scala-maven-plugin:3.2.2
  • How to parse utc date
  • toInstant() in Calendar is showing in GMT instead of Local time
  • How to crop a mp3 in ASP.NET + C#?
  • Convert unix time to week day
  • Create registry key in 32-bit hive on x64 PC using Installshield 2012 LE - Avoid redirection
  • php is_file always return false
  • OpenGL 3.3 on Mac OSX El Capitan with LWJGL
  • Getting last autonumber in access
  • JavaScriptCore crash on iOS9
  • Javascript convert timezone issue
  • Importing jscolor library in angular 2
  • QuartzCore.framework for Mono Develop
  • Warning: Can't call setState (or forceUpdate) on an unmounted component
  • Arrays break string types in Julia
  • How to format a variable of double type
  • VB.net deserialize, JSON Conversion from type 'Dictionary(Of String,Object)' to type '
  • retrieve vertices with no linked edge in arangodb
  • using conditional logic : check if record exists; if it does, update it, if not, create it
  • How can I get HTML syntax highlighting in my editor for CakePHP?
  • Understanding cpu registers
  • How do I configure my settings file to work with unit tests?
  • IndexOutOfRangeException on multidimensional array despite using GetLength check
  • How can I remove ASP.NET Designer.cs files?
  • Are Kotlin's Float, Int etc optimised to built-in types in the JVM? [duplicate]
  • Add sale price programmatically to product variations
  • Binding checkboxes to object values in AngularJs
  • Converting MP3 duration time