このページでは、オブジェクトを書き換えて、バケット内のオブジェクトのストレージ クラスを変更する方法について説明します。
- オブジェクトを書き換えずにオブジェクトのストレージ クラスを変更する方法については、オブジェクトのライフサイクル管理機能をご覧ください。
- Cloud Storage でオブジェクトのストレージ クラスを自動的に管理する方法については、Autoclass 機能をご覧ください。
必要なロール
オブジェクトの書き換えによりオブジェクトのストレージ クラスを変更するために必要な権限を取得するには、バケットに対するストレージ オブジェクト ユーザー(roles/storage.objectUser
)のロールを付与するよう管理者に依頼してください。
このロールには、オブジェクトのストレージ クラスを変更するために必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
storage.objects.create
storage.objects.delete
storage.objects.get
storage.objects.list
これらの権限は、他の事前定義ロールやカスタムロールを使用して取得することもできます。
バケットに対してロールを付与する手順については、バケットで IAM を使用するをご覧ください。
オブジェクトのストレージ クラスを変更する
オブジェクトのストレージ クラスを変更するには、次の手順を行います。
Console
個々のオブジェクトのストレージ クラスを 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
を使用して、POST
Object リクエストで 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
を使用して、PUT
Object リクエストで 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 データ ライフサイクル機能を確認する。
- オブジェクト メタデータを確認する。
- リクエストの前提条件を使用して競合状態を防止する方法を学習する。