このページでは、オブジェクトを書き換えて、バケット内のオブジェクトのストレージ クラスを変更する方法について説明します。
- オブジェクトを書き換えずにオブジェクトのストレージ クラスを変更する方法については、オブジェクトのライフサイクル管理をご覧ください。
- Cloud Storage でオブジェクトのストレージ クラスを自動的に管理する方法については、Autoclass 機能をご覧ください。
必要な権限
コンソール
個々のオブジェクトのストレージ クラスを Google Cloud コンソールで設定することはできません。代わりに Google Cloud CLI を使用してください。
コマンドライン
コマンドライン ユーティリティを使用してこのガイドを完了するには、適切な IAM 権限が必要です。アクセスするオブジェクトが、自分で作成していないプロジェクトに存在する場合は、プロジェクト オーナーから必要な権限を持つロールを付与してもらう必要があります。
特定の操作に必要な権限の一覧については、gcloud storage
コマンドの IAM 権限をご覧ください。
関連するロールのリストについては、Cloud Storage のロールをご覧ください。また、特定の制限された権限を持つカスタムロールを作成することもできます。
クライアント ライブラリ
Cloud Storage クライアント ライブラリを使用してこのガイドを完了するには、適切な IAM 権限が必要です。アクセスするオブジェクトが、自分で作成していないプロジェクトに存在する場合は、プロジェクト オーナーから必要な権限を持つロールを付与してもらう必要があります。
特に断りのない限り、クライアント ライブラリのリクエストは JSON API を介して行われ、JSON メソッドの IAM 権限に記載されている権限が必要です。クライアント ライブラリを使用してリクエストを行うときに呼び出される JSON API メソッドを確認するには、元のリクエストをログに記録します。
関連する IAM ロールのリストについては、Cloud Storage のロールをご覧ください。また、特定の制限された権限を持つカスタムロールを作成することもできます。
REST API
JSON API
JSON API を使用してこのガイドを完了するには、適切な IAM 権限が付与されている必要があります。アクセスするオブジェクトが、自分で作成していないプロジェクトに存在する場合は、プロジェクト オーナーから必要な権限を持つロールを付与してもらう必要があります。
特定のアクションに必要な権限の一覧については、JSON メソッドの IAM 権限をご覧ください。
関連するロールのリストについては、Cloud Storage のロールをご覧ください。また、特定の制限された権限を持つカスタムロールを作成することもできます。
オブジェクトのストレージ クラスを変更する
オブジェクトのストレージ クラスを変更するには、次の手順を行います。
コンソール
個々のオブジェクトのストレージ クラスを 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 データ ライフサイクル機能を確認する。
- オブジェクト メタデータを確認する。
- リクエストの前提条件を満たして競合状態を防ぐ方法について学習する。