This page shows you how to delete objects from your buckets in Cloud Storage.
Required roles
To get the permissions that you need to delete objects, ask your administrator
to grant you the Storage Object User (roles/storage.objectUser
)
IAM role for the bucket that contains the objects you want to
delete.
If you plan on using the Google Cloud console to complete the tasks on this
page, ask your administrator to grant you the Storage Admin
(roles/storage.admin
) role instead of the Storage Object User
(roles/storage.objectUser
) role, or the Viewer (roles/viewer
) basic role
in addition to the Storage Object User (roles/storage.objectUser
) role.
These roles contain the permissions required to delete objects. To see the exact permissions that are required, expand the Required permissions section:
Required permissions
storage.objects.delete
storage.objects.list
- This permission is only needed when using the Google Cloud console, or
when using the
--recursive
flag or wildcards in Google Cloud CLI.
- This permission is only needed when using the Google Cloud console, or
when using the
storage.buckets.list
- This permission is only needed when using the Google Cloud console to perform the instructions on this page.
You can also get these permissions with other predefined roles or custom roles.
For information about granting roles on buckets, see Use IAM with buckets.
Delete an object
Complete the following steps to delete objects from one of your Cloud Storage buckets:
Console
- In the Google Cloud console, go to the Cloud Storage Buckets page.
In the list of buckets, click the name of the bucket that contains the objects you want to delete.
The Bucket details page opens, with the Objects tab selected.
Navigate to the objects, which may be located in a folder.
Click the checkbox for each object you want to delete.
You can also click the checkbox for folders, which will delete all objects contained in that folder.
Click the Delete button.
Click Delete in the dialog that appears.
If you delete many objects at once, you can track deletion progress by clicking the Notifications icon in the Google Cloud console. The Google Cloud console can bulk delete up to several million objects and does so in the background.
To learn how to get detailed error information about failed Cloud Storage operations in the Google Cloud console, see Troubleshooting.
Command line
Use the Google Cloud CLI command gcloud storage rm
:
gcloud storage rm gs://BUCKET_NAME/OBJECT_NAME
Where:
BUCKET_NAME
is the name of the bucket containing the object you want to delete. For example,my-bucket
.OBJECT_NAME
is the name of the object you want to delete. For example,pets/dog.png
.
If successful, the response is similar to the following example:
Removing objects: Removing gs://example-bucket/file.txt... Completed 1/1
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
Have gcloud CLI installed and initialized, in order to generate an access token for the
Authorization
header.Alternatively, you can create an access token using the OAuth 2.0 Playground and include it in the
Authorization
header.Use
cURL
to call the JSON API with aDELETE
request:curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME"
Where:
BUCKET_NAME
is the name of the bucket containing the object you want to delete. For example,my-bucket
.OBJECT_NAME
is the URL-encoded name of the object you want to delete. For example,pets/dog.png
, URL-encoded aspets%2Fdog.png
.
XML API
Have gcloud CLI installed and initialized, in order to generate an access token for the
Authorization
header.Alternatively, you can create an access token using the OAuth 2.0 Playground and include it in the
Authorization
header.Use
cURL
to call the XML API with aDELETE Object
request:curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME"
Where:
BUCKET_NAME
is the name of the bucket containing the object you want to delete. For example,my-bucket
.OBJECT_NAME
is the URL-encoded name of the object you want to delete. For example,pets/dog.png
, URL-encoded aspets%2Fdog.png
.
Delete objects in bulk
If you want to bulk delete a hundred thousand or more objects, avoid using
gcloud storage
, as the process takes a long time to complete.
Instead, consider one of the following options:
The Object Lifecycle Management feature can delete any number of objects. To bulk delete objects in your bucket using this feature, set a lifecycle configuration rule on your bucket where the condition has
Age
set to 0 days and the action is set todelete
. Once you set the rule, Cloud Storage performs the bulk delete asynchronously.The Google Cloud console is also a recommended option when deleting up to one million objects. Once you initiate such a deletion request, the process occurs in the background. You can check the status of your bulk deletion by clicking the Notifications button (notifications) in the Google Cloud console header.
When using certain client libraries or when using the JSON API directly, you can batch your deletion requests to reduce the number of HTTP connections you need to make.
What's next
- Learn about the Object Versioning feature.
- Learn about the Object Lifecycle Management feature.
- Learn how to delete a bucket.