This page shows you how to change the default storage class for a bucket. When you upload an object to the bucket, if you don't specify a storage class for the object, the object is assigned the bucket's default storage class. To learn more about storage classes, see Storage Classes.
Required roles
In order to get the required permissions for changing a bucket's storage class,
ask your administrator to grant you the Storage Admin
(roles/storage.admin) IAM role on the bucket.
This predefined role contains the permissions required to change a bucket's storage class. To see the exact permissions that are required, expand the Required permissions section:
Required permissions
- storage.buckets.get- This permission is only required if you plan on using the Google Cloud console to perform the instructions on this page.
 
- storage.buckets.list- This permission is only required if you plan on using the Google Cloud console to perform the instructions on this page.
 
- storage.buckets.update
You might also be able to get these permissions with custom roles.
For instructions on granting roles on buckets, see Set and manage IAM policies on buckets.
Change the default storage class of a bucket
Console
- In the Google Cloud console, go to the Cloud Storage Buckets page.
 
- In the list of buckets, click the name of the bucket whose storage class you want to change. 
- In the Bucket details page, click the Configuration tab. 
- Click the Edit icon (edit) for Default storage class. 
- In the overlay window, select the new default storage class you would like for your bucket. 
- Click Save. 
To learn how to get detailed error information about failed Cloud Storage operations in the Google Cloud console, see Troubleshooting.
Command line
Use the gcloud storage buckets update command with the
--default-storage-class flag:
gcloud storage buckets update gs://BUCKET_NAME --default-storage-class=STORAGE_CLASS
Where:
- BUCKET_NAMEis the name of the relevant bucket. For example,- my-bucket.
- STORAGE_CLASSis the new storage class you want for your bucket. For example,- nearline.
The response looks like the following example:
Setting default storage class to "nearline" for bucket gs://my-bucket
Client libraries
  
  
  
    
  
 
      
      
  For more information, see the
  Cloud Storage C++ API
    reference documentation.
  
     
      To authenticate to Cloud Storage, set up Application Default Credentials.
      For more information, see
      
        Set up authentication for client libraries.
      
     
      
      
  For more information, see the
  Cloud Storage C# API
    reference documentation.
  
     
      To authenticate to Cloud Storage, set up Application Default Credentials.
      For more information, see
      
        Set up authentication for client libraries.
      
     
      
      
  For more information, see the
  Cloud Storage Go API
    reference documentation.
  
     
      To authenticate to Cloud Storage, set up Application Default Credentials.
      For more information, see
      
        Set up authentication for client libraries.
      
     
      
      
  For more information, see the
  Cloud Storage Java API
    reference documentation.
  
     
      To authenticate to Cloud Storage, set up Application Default Credentials.
      For more information, see
      
        Set up authentication for client libraries.
      
     
      
      
  For more information, see the
  Cloud Storage Node.js API
    reference documentation.
  
     
      To authenticate to Cloud Storage, set up Application Default Credentials.
      For more information, see
      
        Set up authentication for client libraries.
      
     
      
      
  For more information, see the
  Cloud Storage PHP API
    reference documentation.
  
     
      To authenticate to Cloud Storage, set up Application Default Credentials.
      For more information, see
      
        Set up authentication for client libraries.
      
     
      
      
  For more information, see the
  Cloud Storage Python API
    reference documentation.
  
     
      To authenticate to Cloud Storage, set up Application Default Credentials.
      For more information, see
      
        Set up authentication for client libraries.
      
     
      
      
  For more information, see the
  Cloud Storage Ruby API
    reference documentation.
  
     
      To authenticate to Cloud Storage, set up Application Default Credentials.
      For more information, see
      
        Set up authentication for client libraries.
      
    C++
  
  
    
    C#
  
  
    
    Go
  
  
    
    Java
  
  
    
    Node.js
  
  
    
    PHP
  
  
    
    Python
  
  
    
    Ruby
  
  
    
    
REST APIs
JSON API
- Have gcloud CLI installed and initialized, which lets you generate an access token for the - Authorizationheader.
- Create a JSON file that contains the following information: - { "storageClass": "STORAGE_CLASS" } - Where - STORAGE_CLASSis the new storage class you want for your bucket. For example,- nearline.
- Use - cURLto call the JSON API with a- PATCHBucket request:- curl -X PATCH --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=storageClass" - Where: - JSON_FILE_NAMEis the path for the JSON file that you created in Step 2.
- BUCKET_NAMEis the name of the relevant bucket. For example,- my-bucket.
 
XML API
- Have gcloud CLI installed and initialized, which lets you generate an access token for the - Authorizationheader.
- Create an XML file that contains the following information: - <StorageClass>STORAGE_CLASS</StorageClass> - Where - STORAGE_CLASSis the name of the new storage class you want for your bucket. For example,- nearline.
- Use - cURLto call the XML API with a- PUTBucket request scoped to- ?storageClass:- curl -X PUT --data-binary @XML_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME?storageClass" - Where: - XML_FILE_NAMEis the path for the XML file that you created in Step 2.
- BUCKET_NAMEis the name of the relevant bucket. For example,- my-bucket.
 
What's next
- Move or rename a bucket.
- Upload an object.
- Change the storage class of an object.
- Manage object lifecycles.
- Learn about automatic storage class management using Autoclass.