Listing buckets

This page shows you how to list the Cloud Storage buckets in a project, which are ordered in the list lexicographically by name.

Before you begin

To get the permissions that you need to list buckets, ask your administrator to grant you the Storage Admin ( roles/storage.admin ) IAM role or the Viewer ( roles/viewer ) basic role on the project that contains the buckets you want to list.

For more information about granting roles for projects, see Manage access to projects .

The roles contain the storage.buckets.list permission, which is required to list buckets. You can also get this permission with custom roles .

List the buckets in a project

Console

  1. In the Google Cloud console, go to the Cloud Storage Buckets page.

    Go to Buckets

Buckets that are part of the currently selected project appear in the list.

Optionally, use filtering and sorting to limit and organize the results in your list.

Command line

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  2. In your development environment, run the gcloud storage ls command:

    gcloud storage ls

    The response looks like the following example:

    gs:// BUCKET_NAME1 
    /
      gs:// BUCKET_NAME2 
    /
      gs:// BUCKET_NAME3 
    /
      ...

Client libraries

C++

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 .

  namespace 
  
 gcs 
  
 = 
  
 :: 
 google 
 :: 
 cloud 
 :: 
 storage 
 ; 
 using 
  
 :: 
 google 
 :: 
 cloud 
 :: 
 StatusOr 
 ; 
 []( 
 gcs 
 :: 
 Client 
  
 client 
 ) 
  
 { 
  
 int 
  
 count 
  
 = 
  
 0 
 ; 
  
 gcs 
 :: 
 ListBucketsReader 
  
 bucket_list 
  
 = 
  
 client 
 . 
 ListBuckets 
 (); 
  
 for 
  
 ( 
 auto 
&&  
 bucket_metadata 
  
 : 
  
 bucket_list 
 ) 
  
 { 
  
 if 
  
 ( 
 ! 
 bucket_metadata 
 ) 
  
 throw 
  
 std 
 :: 
 move 
 ( 
 bucket_metadata 
 ). 
 status 
 (); 
  
 std 
 :: 
 cout 
 << 
 bucket_metadata 
 - 
> name 
 () 
 << 
 " 
 \n 
 " 
 ; 
  
 ++ 
 count 
 ; 
  
 } 
  
 if 
  
 ( 
 count 
  
 == 
  
 0 
 ) 
  
 { 
  
 std 
 :: 
 cout 
 << 
 "No buckets in default project 
 \n 
 " 
 ; 
  
 } 
 } 
 

C#

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 .

  using 
  
 Google.Apis.Storage.v1.Data 
 ; 
 using 
  
  Google.Cloud.Storage.V1 
 
 ; 
 using 
  
 System 
 ; 
 using 
  
 System.Collections.Generic 
 ; 
 public 
  
 class 
  
 ListBucketsSample 
 { 
  
 public 
  
 IEnumerable<Bucket> 
  
 ListBuckets 
 ( 
 string 
  
 projectId 
  
 = 
  
 "your-project-id" 
 ) 
  
 { 
  
 var 
  
 storage 
  
 = 
  
  StorageClient 
 
 . 
  Create 
 
 (); 
  
 var 
  
 buckets 
  
 = 
  
 storage 
 . 
 ListBuckets 
 ( 
 projectId 
 ); 
  
 Console 
 . 
 WriteLine 
 ( 
 "Buckets:" 
 ); 
  
 foreach 
  
 ( 
 var 
  
 bucket 
  
 in 
  
 buckets 
 ) 
  
 { 
  
 Console 
 . 
 WriteLine 
 ( 
 bucket 
 . 
 Name 
 ); 
  
 } 
  
 return 
  
 buckets 
 ; 
  
 } 
 } 
 

Go

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 .

  import 
  
 ( 
  
 "context" 
  
 "fmt" 
  
 "io" 
  
 "time" 
  
 "cloud.google.com/go/storage" 
  
 "google.golang.org/api/iterator" 
 ) 
 // listBuckets lists buckets in the project. 
 func 
  
 listBuckets 
 ( 
 w 
  
 io 
 . 
  Writer 
 
 , 
  
 projectID 
  
 string 
 ) 
  
 ([] 
 string 
 , 
  
 error 
 ) 
  
 { 
  
 // projectID := "my-project-id" 
  
 ctx 
  
 := 
  
 context 
 . 
 Background 
 () 
  
 client 
 , 
  
 err 
  
 := 
  
 storage 
 . 
 NewClient 
 ( 
 ctx 
 ) 
  
 if 
  
 err 
  
 != 
  
 nil 
  
 { 
  
 return 
  
 nil 
 , 
  
 fmt 
 . 
 Errorf 
 ( 
 "storage.NewClient: %w" 
 , 
  
 err 
 ) 
  
 } 
  
 defer 
  
 client 
 . 
 Close 
 () 
  
 ctx 
 , 
  
 cancel 
  
 := 
  
 context 
 . 
 WithTimeout 
 ( 
 ctx 
 , 
  
 time 
 . 
 Second 
 * 
 30 
 ) 
  
 defer 
  
 cancel 
 () 
  
 var 
  
 buckets 
  
 [] 
 string 
  
 it 
  
 := 
  
 client 
 . 
  Buckets 
 
 ( 
 ctx 
 , 
  
 projectID 
 ) 
  
 for 
  
 { 
  
 battrs 
 , 
  
 err 
  
 := 
  
 it 
 . 
 Next 
 () 
  
 if 
  
 err 
  
 == 
  
 iterator 
 . 
 Done 
  
 { 
  
 break 
  
 } 
  
 if 
  
 err 
  
 != 
  
 nil 
  
 { 
  
 return 
  
 nil 
 , 
  
 err 
  
 } 
  
 buckets 
  
 = 
  
 append 
 ( 
 buckets 
 , 
  
 battrs 
 . 
 Name 
 ) 
  
 fmt 
 . 
 Fprintf 
 ( 
 w 
 , 
  
 "Bucket: %v\n" 
 , 
  
 battrs 
 . 
 Name 
 ) 
  
 } 
  
 return 
  
 buckets 
 , 
  
 nil 
 } 
 

Java

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 .

  import 
  
 com.google.api.gax.paging. Page 
 
 ; 
 import 
  
 com.google.cloud.storage. Bucket 
 
 ; 
 import 
  
 com.google.cloud.storage. Storage 
 
 ; 
 import 
  
 com.google.cloud.storage. StorageOptions 
 
 ; 
 public 
  
 class 
 ListBuckets 
  
 { 
  
 public 
  
 static 
  
 void 
  
 listBuckets 
 ( 
 String 
  
 projectId 
 ) 
  
 { 
  
 // The ID of your GCP project 
  
 // String projectId = "your-project-id"; 
  
  Storage 
 
  
 storage 
  
 = 
  
  StorageOptions 
 
 . 
 newBuilder 
 (). 
 setProjectId 
 ( 
 projectId 
 ). 
 build 
 (). 
  getService 
 
 (); 
  
 Page<Bucket> 
  
 buckets 
  
 = 
  
 storage 
 . 
  list 
 
 (); 
  
 for 
  
 ( 
  Bucket 
 
  
 bucket 
  
 : 
  
 buckets 
 . 
 iterateAll 
 ()) 
  
 { 
  
 System 
 . 
 out 
 . 
 println 
 ( 
 bucket 
 . 
 getName 
 ()); 
  
 } 
  
 } 
 } 
 

Node.js

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 .

  // Imports the Google Cloud client library 
 const 
  
 { 
 Storage 
 } 
  
 = 
  
 require 
 ( 
 ' @google-cloud/storage 
' 
 ); 
 // Creates a client 
 const 
  
 storage 
  
 = 
  
 new 
  
 Storage 
 (); 
 async 
  
 function 
  
 listBuckets 
 () 
  
 { 
  
 const 
  
 [ 
 buckets 
 ] 
  
 = 
  
 await 
  
 storage 
 . 
  getBuckets 
 
 (); 
  
 console 
 . 
 log 
 ( 
 'Buckets:' 
 ); 
  
 buckets 
 . 
 forEach 
 ( 
 bucket 
  
 = 
>  
 { 
  
 console 
 . 
 log 
 ( 
 bucket 
 . 
 name 
 ); 
  
 }); 
 } 
 listBuckets 
 (). 
 catch 
 ( 
 console 
 . 
 error 
 ); 
 

PHP

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 .

  use Google\Cloud\Storage\StorageClient; 
 /** 
 * List all Cloud Storage buckets for the current project. 
 */ 
 function list_buckets(): void 
 { 
 $storage = new StorageClient(); 
 foreach ($storage->buckets() as $bucket) { 
 printf('Bucket: %s' . PHP_EOL, $bucket->name()); 
 } 
 } 
 

Python

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 .

  from 
  
 google.cloud 
  
 import 
  storage 
 
 def 
  
 list_buckets 
 (): 
  
 """Lists all buckets.""" 
 storage_client 
 = 
  storage 
 
 . 
  Client 
 
 () 
 buckets 
 = 
 storage_client 
 . 
  list_buckets 
 
 () 
 for 
 bucket 
 in 
 buckets 
 : 
 print 
 ( 
 bucket 
 . 
 name 
 ) 
 

Ruby

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 .

  def 
  
 list_buckets 
  
 require 
  
 "google/cloud/storage" 
  
 storage 
  
 = 
  
 Google 
 :: 
 Cloud 
 :: 
  Storage 
 
 . 
  new 
 
  
 storage 
 . 
 buckets 
 . 
  each 
 
  
 do 
  
 | 
 bucket 
 | 
  
 puts 
  
 bucket 
 . 
 name 
  
 end 
 end 
 

REST APIs

JSON API

  1. Have gcloud CLI installed and initialized , which lets you generate an access token for the Authorization header.

  2. Use cURL to call the JSON API with a request to list buckets :

    curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      "https://storage.googleapis.com/storage/v1/b?project= PROJECT_IDENTIFIER 
    "

    Where PROJECT_IDENTIFIER is the ID or number of the project containing the buckets you want to list. For example, my-project .

XML API

  1. Have gcloud CLI installed and initialized , which lets you generate an access token for the Authorization header.

  2. Use cURL to call the XML API with a GET Service request:

    curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "x-goog-project-id: PROJECT_ID 
    " \
      "https://storage.googleapis.com"

    Where PROJECT_ID is the ID of the project containing the buckets you want to list. For example, my-project .

What's next

Design a Mobile Site
View Site in Mobile | Classic
Share by: