このページでは、オブジェクトを書き換えて、バケット内のオブジェクトのストレージ クラスを変更する方法について説明します。
- オブジェクトを書き換えずにオブジェクトのストレージ クラスを変更する方法については、オブジェクトのライフサイクル管理をご覧ください。
- 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
Authorization
ヘッダーのアクセス トークンを生成するには、gcloud CLI のインストールと初期化を行います。OAuth 2.0 Playground を使用してアクセス トークンを作成し、
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
Authorization
ヘッダーのアクセス トークンを生成するには、gcloud CLI のインストールと初期化を行います。OAuth 2.0 Playground を使用してアクセス トークンを作成し、
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 データ ライフサイクル機能を確認する。
- オブジェクト メタデータを確認する。
- リクエストの前提条件を満たして競合状態を防ぐ方法について学習する。