ストレージ バケットの作成

このページでは、Cloud Storage バケットの作成方法について説明します。バケットの概要については、主な用語をご覧ください。リクエストで指定されていない限り、バケットは、US マルチリージョンで作成され、デフォルトのストレージ クラスは Standard Storage になります。

新しいストレージ バケットを作成するには:

Console

  1. Google Cloud Console で Cloud Storage ブラウザを開きます。
    Cloud Storage ブラウザを開く
  2. [バケットを作成] をクリックして、バケット作成フォームを開きます。
  3. 新しいバケット。

  4. バケット情報を入力し、[続行] をクリックして各手順を完了します。
    • バケット名の要件に従って、名前を指定します。
    • バケットのデフォルトのストレージ クラスを選択します。デフォルトのストレージ クラスは、バケットに対してアップロードされたすべてのオブジェクトにデフォルトで割り当てられます。次に、バケットデータが永続的に保存されるロケーションを選択します。

      注: 右側の [毎月の費用の見積もり] パネルでは、選択したストレージ クラスとロケーション、予想されるデータサイズとオペレーションに基づいてバケットの毎月のコストを見積もります。

    • [アクセス制御モデル] を選択して、バケットのオブジェクトに対するアクセスの制御方法を決定します。
    • 必要に応じて、バケットラベルの追加、保持ポリシーの設定、暗号化方式の選択を行えます。
  5. [完了] をクリックします。

gsutil

gsutil mb コマンドを使用します。

gsutil mb gs://[BUCKET_NAME]/

ここで

  • [BUCKET_NAME] は、バケットに付ける名前で、命名要件の対象となります。たとえば、my-bucket です。

次のオプション フラグを設定すると、バケットの作成をより詳細に管理できます。

例:

      gsutil mb -p [PROJECT_NAME] -c [STORAGE_CLASS] -l [BUCKET_LOCATION] -b on gs://[BUCKET_NAME]/

コードサンプル

の JSON API リファレンスをご覧ください。

C++

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

namespace gcs = google::cloud::storage;
    using ::google::cloud::StatusOr;
    [](gcs::Client client, std::string bucket_name) {
      StatusOr<gcs::BucketMetadata> bucket_metadata =
          client.CreateBucket(bucket_name, gcs::BucketMetadata());

      if (!bucket_metadata) {
        throw std::runtime_error(bucket_metadata.status().message());
      }

      std::cout << "Bucket " << bucket_metadata->name() << " created."
                << "\nFull Metadata: " << *bucket_metadata << "\n";
    }

C#

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

private void CreateBucket(string bucketName)
    {
        var storage = StorageClient.Create();
        storage.CreateBucket(s_projectId, bucketName);
        Console.WriteLine($"Created {bucketName}.");
    }

Go

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

ctx := context.Background()
    bucket := client.Bucket(bucketName)

    ctx, cancel := context.WithTimeout(ctx, time.Second*10)
    defer cancel()
    if err := bucket.Create(ctx, projectID, &storage.BucketAttrs{
    	StorageClass: "COLDLINE",
    	Location:     "asia",
    }); err != nil {
    	return err
    }

Java

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

Bucket bucket =
        storage.create(
            BucketInfo.newBuilder(bucketName)
                // See here for possible values: http://g.co/cloud/storage/docs/storage-classes
                .setStorageClass(StorageClass.COLDLINE)
                // Possible values: http://g.co/cloud/storage/docs/bucket-locations#location-mr
                .setLocation("asia")
                .build());

Node.js

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

/**
     * TODO(developer): Uncomment the following line before running the sample.
     */
    // const bucketName = 'Name of a bucket, e.g. my-bucket';

    // Imports the Google Cloud client library
    const {Storage} = require('@google-cloud/storage');

    // Creates a client
    const storage = new Storage();

    async function createBucket() {
      // Creates a new bucket in the Asia region with the coldline default storage
      // class. Leave the second argument blank for default settings.
      //
      // For default values see: https://cloud.google.com/storage/docs/locations and
      // https://cloud.google.com/storage/docs/storage-classes

      const [bucket] = await storage.createBucket(bucketName, {
        location: 'ASIA',
        storageClass: 'COLDLINE',
      });

      console.log(`Bucket ${bucket.name} created.`);
    }

    createBucket().catch(console.error);

PHP

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

use Google\Cloud\Storage\StorageClient;

    /**
     * Create a Cloud Storage Bucket.
     *
     * @param string $bucketName name of the bucket to create.
     * @param string $options options for the new bucket.
     *
     */
    function create_bucket($bucketName, $options = [])
    {
        $storage = new StorageClient();
        $bucket = $storage->createBucket($bucketName, $options);
        printf('Bucket created: %s' . PHP_EOL, $bucket->name());
    }

Python

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

from google.cloud import storage

    def create_bucket(bucket_name):
        """Creates a new bucket."""
        # bucket_name = "your-new-bucket-name"

        storage_client = storage.Client()

        bucket = storage_client.create_bucket(bucket_name)

        print("Bucket {} created".format(bucket.name))

    

Ruby

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

# project_id    = "Your Google Cloud project ID"
    # bucket_name   = "Name of Google Cloud Storage bucket to create"
    # location      = "Location of where to create Cloud Storage bucket"
    # storage_class = "Storage class of Cloud Storage bucket"

    require "google/cloud/storage"

    storage = Google::Cloud::Storage.new project_id: project_id
    bucket  = storage.create_bucket bucket_name,
                                    location:      location,
                                    storage_class: storage_class

    puts "Created bucket #{bucket.name} in #{location}" +
         " with #{storage_class} class"

REST API

JSON API

  1. OAuth 2.0 Playground から承認アクセス トークンを取得します。固有の OAuth 認証情報を使用するようにプレイグラウンドを構成します。
  2. 次の情報が含まれる .json ファイルを作成します。
  3. {
          "name": "[BUCKET_NAME]",
          "location": "[BUCKET_LOCATION]",
          "storageClass": "[STORAGE_CLASS]"
        }

    ここで

  4. cURL を使用して JSON API を呼び出します。
    curl -X POST --data-binary @[JSON_FILE_NAME].json \
             -H "Authorization: Bearer [OAUTH2_TOKEN]" \
             -H "Content-Type: application/json" \
             "https://storage.googleapis.com/storage/v1/b?project=[PROJECT_ID]"

    ここで

    • [JSON_FILE_NAME] は手順 2 で作成した JSON ファイルの名前です。
    • [OAUTH2_TOKEN] は、ステップ 1 で生成したアクセス トークンです。
    • [PROJECT_ID] は、バケットが関連付けられるプロジェクトの ID です。たとえば、my-project です。

XML API

  1. OAuth 2.0 Playground から承認アクセス トークンを取得します。固有の OAuth 認証情報を使用するようにプレイグラウンドを構成します。
  2. 次の情報を含む .xml ファイルを作成します。
  3. <CreateBucketConfiguration>
           <LocationConstraint>[BUCKET_LOCATION]</LocationConstraint>
           <StorageClass>[STORAGE_CLASS]</StorageClass>
        </CreateBucketConfiguration>

    ここで

  4. cURL を使用して、XML API を呼び出します。
    curl -X PUT --data-binary @[XML_FILE_NAME].xml \
             -H "Authorization: Bearer [OAUTH2_TOKEN]" \
             -H "x-goog-project-id: [PROJECT_ID]" \
             "https://storage.googleapis.com/[BUCKET_NAME]"

    ここで

    • [XML_FILE_NAME] は手順 2 で作成した XML ファイルの名前です。
    • [OAUTH2_TOKEN] は、ステップ 1 で生成したアクセス トークンです。
    • [PROJECT_ID] は、バケットが関連付けられるプロジェクトの ID です。たとえば、my-project です。
    • [BUCKET_NAME] は、バケットに付ける名前で、命名要件の対象となります。たとえば、my-bucket です。

次のステップ