このページでは、バケットのデフォルトのストレージ クラスを変更する方法について説明します。オブジェクトをバケットにアップロードするときにオブジェクトのストレージ クラスを指定しないと、バケットのデフォルトのストレージ クラスが割り当てられます。ストレージ クラスの詳細については、ストレージ クラスをご覧ください。
必要なロール
バケットのストレージ クラスを変更するために必要な権限を取得するには、バケットに対するストレージ管理者(roles/storage.admin
)IAM ロールを付与するよう管理者に依頼してください。
この事前定義ロールには、バケットのストレージ クラスの変更に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
storage.buckets.get
- この権限は、Google Cloud コンソールを使用してこのページの手順を実施する場合にのみ必要です。
storage.buckets.list
- この権限は、Google Cloud コンソールを使用してこのページの手順を実施する場合にのみ必要です。
storage.buckets.update
カスタムロールを使用して、これらの権限を取得することもできます。
バケットに対してロールを付与する手順については、バケットで IAM を使用するをご覧ください。
バケットのデフォルト ストレージ クラスを変更する
コンソール
- Google Cloud コンソールで、Cloud Storage の [バケット] ページに移動します。
バケットのリストで、ストレージ クラスを変更するバケットの名前をクリックします。
[バケットの詳細] ページで、[構成] タブをクリックします。
[デフォルトのストレージ クラス] の編集アイコン(edit)をクリックします。
上に重なったウィンドウで、バケットに新しいデフォルトのストレージ クラスを選択します。
[保存] をクリックします。
失敗した Cloud Storage オペレーションの詳細なエラー情報を Google Cloud コンソールで確認する方法については、トラブルシューティングをご覧ください。
コマンドライン
gcloud storage buckets update
コマンドを使用し、--default-storage-class
フラグを指定します。
gcloud storage buckets update gs://BUCKET_NAME --default-storage-class=STORAGE_CLASS
ここで
BUCKET_NAME
は、関連するバケットの名前です。例:my-bucket
STORAGE_CLASS
は、バケットに追加する新しいストレージ クラスです。例:nearline
次の例のようなレスポンスになります。
Setting default storage class to "nearline" for bucket gs://my-bucket
クライアント ライブラリ
C++
詳細については、Cloud Storage C++ API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
C#
詳細については、Cloud Storage C# API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Go
詳細については、Cloud Storage Go API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Java
詳細については、Cloud Storage Java API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Node.js
詳細については、Cloud Storage Node.js API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
PHP
詳細については、Cloud Storage PHP API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Python
詳細については、Cloud Storage Python API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Ruby
詳細については、Cloud Storage Ruby API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
REST API
JSON API
gcloud CLI のインストールと初期化を行います。これにより、
Authorization
ヘッダーのアクセス トークンを生成できます。次の情報が含まれる JSON ファイルを作成します。
{ "storageClass": "STORAGE_CLASS" }
ここで、
STORAGE_CLASS
は、バケットに追加する新しいストレージ クラスです。例:nearline
。cURL
を使用して JSON API を呼び出し、PATCH
Bucket リクエストを行います。curl -X PATCH --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=storageClass"
ここで
JSON_FILE_NAME
は、手順 2 で作成した JSON ファイルのパスです。BUCKET_NAME
は、関連するバケットの名前です。例:my-bucket
XML API
gcloud CLI のインストールと初期化を行います。これにより、
Authorization
ヘッダーのアクセス トークンを生成できます。次の情報が含まれる XML ファイルを作成します。
<StorageClass>STORAGE_CLASS</StorageClass>
ここで、
STORAGE_CLASS
は、バケットに追加する新しいストレージ クラス名です。例:nearline
。cURL
を使用して、?storageClass
をスコープとするPUT
バケット リクエストで XML API を呼び出します。curl -X PUT --data-binary @XML_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME?storageClass"
ここで
XML_FILE_NAME
は、手順 2 で作成した XML ファイルのパスです。BUCKET_NAME
は、関連するバケットの名前です。例:my-bucket
。
次のステップ
- バケットを移動または名前を変更する。
- オブジェクトをアップロードする。
- オブジェクトのストレージ クラスを変更する。
- オブジェクト ライフサイクルを管理する。
- Autoclass を使用した自動ストレージ クラス管理について学習する。