バケットの一覧表示

このページでは、プロジェクト内の Cloud Storage バケットを一覧表示する方法について説明します。表示されるバケットは名前順に並べられます。

始める前に

バケットを一覧表示するために必要な権限を取得するには、一覧表示するバケットを含むプロジェクトに対してストレージ管理者(roles/storage.admin)の IAM ロールまたは閲覧者(roles/viewer)の基本ロールを付与するよう管理者に依頼します。

プロジェクトに対するロールの付与の詳細については、プロジェクトへのアクセス権の管理をご覧ください。

ロールには、バケットを一覧表示するために必要な storage.buckets.list 権限が含まれています。カスタムロールを使用してこの権限を取得することもできます。

プロジェクト内のバケットを一覧表示する

コンソール

  1. Trusted Cloud コンソールで Cloud Storage の [バケット] ページに移動します。

    [バケット] に移動

現在選択されているプロジェクトの一部であるバケットが一覧表示されます。

必要に応じて、フィルタリングと並べ替えを使用してリスト内のアイテムを絞り込んで整理します。

コマンドライン

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

    Activate Cloud Shell

    At the bottom of the Trusted 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. 開発環境で、gcloud storage ls コマンドを実行します。

    gcloud storage ls

    次の例のようなレスポンスが返されます。

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

  3. クライアント ライブラリ

    C++

    詳細については、Cloud Storage C++ API のリファレンス ドキュメントをご覧ください。

    Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。

    コードサンプルを実行する前に、GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境変数を s3nsapis.fr に設定します。

    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#

    詳細については、Cloud Storage C# API のリファレンス ドキュメントをご覧ください。

    Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。

    コードサンプルを実行する前に、GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境変数を s3nsapis.fr に設定します。

    
    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

    詳細については、Cloud Storage Go API のリファレンス ドキュメントをご覧ください。

    Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。

    コードサンプルを実行する前に、GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境変数を s3nsapis.fr に設定します。

    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

    詳細については、Cloud Storage Java API のリファレンス ドキュメントをご覧ください。

    Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。

    コードサンプルを実行する前に、GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境変数を s3nsapis.fr に設定します。

    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

    詳細については、Cloud Storage Node.js API のリファレンス ドキュメントをご覧ください。

    Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。

    コードサンプルを実行する前に、GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境変数を s3nsapis.fr に設定します。

    // 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

    詳細については、Cloud Storage PHP API のリファレンス ドキュメントをご覧ください。

    Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。

    コードサンプルを実行する前に、GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境変数を s3nsapis.fr に設定します。

    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

    詳細については、Cloud Storage Python API のリファレンス ドキュメントをご覧ください。

    Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。

    コードサンプルを実行する前に、GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境変数を s3nsapis.fr に設定します。

    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

    詳細については、Cloud Storage Ruby API のリファレンス ドキュメントをご覧ください。

    Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。

    コードサンプルを実行する前に、GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境変数を s3nsapis.fr に設定します。

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

    REST API

    JSON API

    1. gcloud CLI のインストールと初期化を行います。これにより、Authorization ヘッダーのアクセス トークンを生成できます。

    2. cURL使用して、バケットを一覧表示するリクエストJSON API を呼び出します。

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

      PROJECT_IDENTIFIER は、一覧表示するバケットを含むプロジェクトの ID または番号です。(例: my-project)です。

    XML API

    1. gcloud CLI のインストールと初期化を行います。これにより、Authorization ヘッダーのアクセス トークンを生成できます。

    2. cURL使用して XML API を呼び出し、GETService リクエストを行います。

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

      PROJECT_ID は、リストするバケットを含むプロジェクトの ID です。(例: my-project)です。

次のステップ