このページでは、オブジェクトを書き換えて、バケット内のオブジェクトのストレージ クラスを変更する方法について説明します。
- オブジェクトを書き換えずにオブジェクトのストレージ クラスを変更する方法については、オブジェクトのライフサイクル管理をご覧ください。
- 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 に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
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を使用して、- POSTObject リクエストで JSON API を呼び出します。- curl -X POST --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/o/OBJECT_NAME/rewriteTo/b/BUCKET_NAME/o/OBJECT_NAME" - 各変数の意味は次のとおりです。 - JSON_FILE_NAMEは、手順 2 で作成した JSON ファイルのパスです。
- BUCKET_NAMEは元のオブジェクトを格納するバケットの名前です。たとえば- my-bucketです。
- OBJECT_NAMEは、オブジェクトの URL エンコードされた名前です。たとえば、- pets%2Fdog.pngと URL エンコードした- pets/dog.pngです。
 
XML API
- gcloud CLI をインストールして初期化します。これにより、 - Authorizationヘッダーのアクセス トークンを生成できます。
- cURLを使用して、- PUTObject リクエストで XML API を呼び出します。- curl -X PUT --data-binary @OBJECT \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: OBJECT_CONTENT_TYPE" \ -H "x-goog-storage-class: STORAGE_CLASS" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME" - 各変数の意味は次のとおりです。 - OBJECTは、ストレージ クラスを変更するオブジェクトのローカルパスです(XML API を使用してストレージ クラスを変更する場合は、オブジェクトを再アップロードする必要があります)。たとえば- Desktop/dog.pngです。
- OBJECT_CONTENT_TYPEは、オブジェクトのコンテンツ タイプです。たとえば- image/pngです。
- STORAGE_CLASSは、オブジェクトの新しいストレージ クラスです。たとえば- nearlineです。
- BUCKET_NAMEは、書き換えるオブジェクトが格納されているバケットの名前です。たとえば- my-bucketです。
- OBJECT_NAMEは、リライトするオブジェクトの URL エンコードされた名前です。たとえば、- pets%2Fdog.pngと URL エンコードした- pets/dog.pngです。
 
次のステップ
- 利用可能なストレージ クラスを確認する。
- オブジェクトのライフサイクル管理を使用してオブジェクト ストレージ クラスを変更する。
- 他の Cloud Storage データ ライフサイクル機能を確認する。
- オブジェクト メタデータを確認する。
- リクエストの前提条件を満たして競合状態を防ぐ方法について学習する。