This page describes how to change the storage class of objects within a bucket through rewriting the object. To learn how to change object storage classes without rewriting an object, see the Object Lifecycle Management feature.
Console
Individual object storage classes cannot be set through the Console. Instead use gsutil.
gsutil
Use the -s
flag in a rewrite
command.
For example:
gsutil rewrite -s STORAGE_CLASS gs://PATH_TO_OBJECT
Where:
STORAGE_CLASS
is the new storage class for your object. For example,nearline
.PATH_TO_OBJECT
is the name of the object whose class you want to change. For example,pets/dog.png
.
Code samples
For more information, see the
Cloud Storage C++ API reference documentation.
For more information, see the
Cloud Storage Go API reference documentation.
For more information, see the
Cloud Storage Java API reference documentation.
For more information, see the
Cloud Storage Node.js API reference documentation.
For more information, see the
Cloud Storage Python API reference documentation.
For more information, see the
Cloud Storage Ruby API reference documentation.
C++
Go
Java
Node.js
Python
Ruby
REST APIs
JSON API
- Get an authorization access token from the OAuth 2.0 Playground. Configure the playground to use your own OAuth credentials.
Create a .json file that contains the following information:
{ "storageClass": "STORAGE_CLASS" }
Where:
STORAGE_CLASS
is the new storage class for your object. For example,nearline
.
Use
cURL
to call the JSON API with aPOST
Object, request:curl -X POST --data-binary @JSON_FILE_NAME.json \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME/rewriteTo/b/BUCKET_NAME/o/OBJECT_NAME"
Where:
JSON_FILE_NAME
is the name of the JSON file you created in Step 2.OAUTH2_TOKEN
is the access token you generated in Step 1.BUCKET_NAME
is the name of the bucket containing the original object. For example,my-bucket
.OBJECT_NAME
is the name of the object. For example,pets/dog.png
.
XML API
- Get an authorization access token from the OAuth 2.0 Playground. Configure the playground to use your own OAuth credentials.
Use
cURL
to call the XML API with aPUT
Object request:curl -X PUT --data-binary @OBJECT \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: OBJECT_CONTENT_TYPE" \ -H "x-goog-storage-class: STORAGE_CLASS" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME"
Where:
OBJECT
is the local path to the object whose storage class you want to change (you must re-upload the object when changing storage class with the XML API). For example,Desktop/dog.png
.OAUTH2_TOKEN
is the access token you generated in Step 1.OBJECT_CONTENT_TYPE
is the content type of the object. For example,image/png
.STORAGE_CLASS
is the new storage class for your object. For example,nearline
.BUCKET_NAME
is the name of the bucket containing the object you are rewriting. For example,my-bucket
.OBJECT_NAME
is the name of the object you are rewriting. For example,pets/dog.png
.
What's next
- Learn about available storage classes.
- Change object storage classes with Object Lifecycle Management.
- Learn about object metadata.