オブジェクトのストレージ クラスの変更

このページでは、オブジェクトを書き換えて、バケット内のオブジェクトのストレージ クラスを変更する方法について説明します。

  • オブジェクトを書き換えずにオブジェクトのストレージ クラスを変更する方法については、オブジェクトのライフサイクル管理をご覧ください。
  • Cloud Storage でオブジェクトのストレージ クラスを自動的に管理する方法については、Autoclass 機能をご覧ください。

必要なロール

オブジェクトの書き換えによりオブジェクトのストレージ クラスを変更するために必要な権限を取得するには、バケットに対するストレージ オブジェクト ユーザー(roles/storage.objectUser)のロールを付与するよう管理者に依頼してください。

このロールには、オブジェクトのストレージ クラスを変更するために必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。

必要な権限

  • storage.objects.create
  • storage.objects.delete
  • storage.objects.get
  • storage.objects.list

これらの権限は、他の事前定義ロールカスタムロールを使用して取得することもできます。

バケットに対するロールを付与する手順については、バケットでの IAM ポリシーの設定と管理をご覧ください。

オブジェクトのストレージ クラスを変更する

オブジェクトのストレージ クラスを変更するには、次の手順を行います。

コンソール

個々のオブジェクトのストレージ クラスを、Google Cloud コンソールから設定することはできません。代わりに Google Cloud CLI を使用してください。

コマンドライン

gcloud storage objects update コマンドを使用して、--storage-class フラグを指定します。次に例を示します。

gcloud storage objects update gs://BUCKET_NAME/OBJECT_NAME --storage-class=STORAGE_CLASS

各変数の意味は次のとおりです。

  • BUCKET_NAME は、クラスを変更するオブジェクトが格納されているバケットの名前です。たとえば my-bucket です。
  • OBJECT_NAME は、クラスを変更するオブジェクトの名前です。たとえば pets/dog.png です。
  • STORAGE_CLASS は、オブジェクトの新しいストレージ クラスです。たとえば nearline です。

クライアント ライブラリ

C++

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

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

namespace gcs = ::google::cloud::storage;
using ::google::cloud::StatusOr;
[](gcs::Client client, std::string const& bucket_name,
   std::string const& object_name, std::string const& storage_class) {
  StatusOr<gcs::ObjectMetadata> object_metadata =
      client.RewriteObjectBlocking(
          bucket_name, object_name, bucket_name, object_name,
          gcs::WithObjectMetadata(
              gcs::ObjectMetadata().set_storage_class(storage_class)));
  if (!object_metadata) throw std::move(object_metadata).status();

  std::cout << "Changed storage class of object " << object_metadata->name()
            << " in bucket " << object_metadata->bucket() << " to "
            << object_metadata->storage_class() << "\n";
}

C#

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

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


using Google.Cloud.Storage.V1;
using System;

public class ChangeFileStorageClassSample
{
    public Google.Apis.Storage.v1.Data.Object ChangeFileStorageClass(