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 permissions
Console
In order to complete this guide using the Google Cloud console, you must have the proper IAM permissions. If you did not create the bucket you want to access, you might need the project owner to give you a role that contains the necessary permissions.
For a list of permissions required for specific actions, see IAM permissions for the Google Cloud console.
For a list of relevant roles, see Cloud Storage roles. Alternatively, you can create a custom role that has specific, limited permissions.
Command line
In order to complete this guide using a command-line utility, you must have the proper IAM permissions. If you did not create the bucket you want to access, you might need the project owner to give you a role that contains the necessary permissions.
For a list of permissions required for specific actions, see IAM permissions for gsutil commands.
For a list of relevant roles, see Cloud Storage roles. Alternatively, you can create a custom role that has specific, limited permissions.
Client libraries
In order to complete this guide using the Cloud Storage client libraries, you must have the proper IAM permissions. If you did not create the bucket you want to access, you might need the project owner to give you a role that contains the necessary permissions.
Unless otherwise noted, client library requests are made through the JSON API and require permissions as listed in IAM permissions for JSON methods. To see which JSON API methods are invoked when you make requests using a client library, log the raw requests.
For a list of relevant IAM roles, see Cloud Storage roles. Alternatively, you can create a custom role that has specific, limited permissions.
REST APIs
JSON API
In order to complete this guide using the JSON API, you must have the proper IAM permissions. If you did not create the bucket you want to access, you might need the project owner to give you a role that contains the necessary permissions.
For a list of permissions required for specific actions, see IAM permissions for JSON methods.
For a list of relevant roles, see Cloud Storage roles. Alternatively, you can create a custom role that has specific, limited permissions.
Change the default storage class of a bucket
Console
- In the Google Cloud console, go to the Cloud Storage Buckets page.
In the bucket list, find the bucket you want to modify, and click its Bucket overflow menu (
).
Click Edit 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
gcloud
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_NAME
is the name of the relevant bucket. For example,my-bucket
.STORAGE_CLASS
is 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
gsutil
Use the gsutil defstorageclass set
command:
gsutil defstorageclass set STORAGE_CLASS gs://BUCKET_NAME
Where:
STORAGE_CLASS
is the new storage class you want for your bucket. For example,nearline
.BUCKET_NAME
is the name of the relevant bucket. For example,my-bucket
.
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 a local development environment.
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 a local development environment.
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 a local development environment.
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 a local development environment.
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 a local development environment.
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 a local development environment.
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 a local development environment.
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 a local development environment.
C++
C#
Go
Java
Node.js
PHP
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. For instructions, see API authentication.
Create a JSON file that contains the following information:
{ "storageClass": "STORAGE_CLASS" }
Where
STORAGE_CLASS
is the new storage class you want for your bucket. For example,nearline
.Use
cURL
to call the JSON API with aPATCH
Bucket request:curl -X PATCH --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=storageClass"
Where:
JSON_FILE_NAME
is the path for the JSON file that you created in Step 2.OAUTH2_TOKEN
is the access token you generated in Step 1.BUCKET_NAME
is the name of the relevant bucket. For example,my-bucket
.
XML API
- Get an authorization access token from the OAuth 2.0 Playground. Configure the playground to use your own OAuth credentials. For instructions, see API authentication.
Create an XML file that contains the following information:
<StorageClass>STORAGE_CLASS</StorageClass>
Where
STORAGE_CLASS
is the name of the new storage class you want for your bucket. For example,nearline
.Use
cURL
to call the XML API with aPUT
Bucket request:curl -X PUT --data-binary @XML_FILE_NAME \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/BUCKET_NAME?storageClass"
Where:
XML_FILE_NAME
is the path for the XML file that you created in Step 2.OAUTH2_TOKEN
is the access token you generated in Step 1.BUCKET_NAME
is 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.