このページでは、Cloud Storage オブジェクトを 1 つのオブジェクトにまとめる方法について説明します。作成リクエストは 1~32 個のオブジェクトを受け取り、新しい複合オブジェクトを作成します。複合オブジェクトは、リクエストで指定されたソース オブジェクトを連結したものです。
オブジェクトを作成する場合は、次の点に注意してください。
- ソース オブジェクトは作成処理の影響を受けません。一時的なものである場合は、作成が正常に完了したら削除する必要があります。
- 一時オブジェクトには必ず Standard Storage を使用してください。他のストレージ クラスには早期削除料金が適用されます。
必要な権限
コンソール
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 compose
コマンドを使用します。
gcloud storage objects compose gs://BUCKET_NAME/SOURCE_OBJECT_1 gs://BUCKET_NAME/SOURCE_OBJECT_2 gs://BUCKET_NAME/COMPOSITE_OBJECT_NAME
ここで
BUCKET_NAME
は、ソース オブジェクトを含むバケットの名前です。SOURCE_OBJECT_1
とSOURCE_OBJECT_2
は、オブジェクト作成で使用するソース オブジェクトの名前です。COMPOSITE_OBJECT_NAME
は、オブジェクト作成の結果に付ける名前です。
クライアント ライブラリ
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
- OAuth 2.0 Playground から認可アクセス トークンを取得します。固有の OAuth 認証情報を使用するように Playground を構成します。手順については、API 認証をご覧ください。
次の情報が含まれる JSON ファイルを作成します。
{ "sourceObjects": [ { "name": "SOURCE_OBJECT_1" }, { "name": "SOURCE_OBJECT_2" } ], "destination": { "contentType": "COMPOSITE_OBJECT_CONTENT_TYPE" } }
ここで
SOURCE_OBJECT_1
とSOURCE_OBJECT_2
は、オブジェクト作成で使用するソース オブジェクトの名前です。COMPOSITE_OBJECT_CONTENT_TYPE
は、結果として得られる複合オブジェクトの Content-Type です。
cURL
を使用して、POST
Object リクエストで JSON API を呼び出します。curl -X POST --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/COMPOSITE_OBJECT_NAME/compose"
ここで
JSON_FILE_NAME
は、前の手順で作成したファイルの名前です。OAUTH2_TOKEN
は、ガイドの早い段階で生成したアクセス トークンです。BUCKET_NAME
は、ソース オブジェクトを含むバケットの名前です。COMPOSITE_OBJECT_NAME
は、オブジェクト作成の結果に付ける名前です。
成功した場合、レスポンスは結果として得られる複合オブジェクトのオブジェクト リソースです。
XML API
- OAuth 2.0 Playground から認証アクセス トークンを取得します。固有の OAuth 認証情報を使用するように Playground を構成します。手順については、API 認証をご覧ください。
次の情報が含まれる XML ファイルを作成します。
<ComposeRequest> <Component> <Name>SOURCE_OBJECT_1</Name> </Component> <Component> <Name>SOURCE_OBJECT_2</Name> </Component> </ComposeRequest>
ここで
SOURCE_OBJECT_1
とSOURCE_OBJECT_2
は、オブジェクト作成で使用するソース オブジェクトの名前です。
cURL
を使用して、PUT
Object リクエストとcompose
クエリ文字列パラメータを含めた XML API を呼び出します。curl -X PUT --data-binary @XML_FILE_NAME \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: COMPOSITE_OBJECT_CONTENT_TYPE" \ "https://storage.googleapis.com/BUCKET_NAME/COMPOSITE_OBJECT_NAME?compose"
ここで
XML_FILE_NAME
は、前の手順で作成したファイルの名前です。OAUTH2_TOKEN
は、ガイドの早い段階で生成したアクセス トークンです。COMPOSITE_OBJECT_CONTENT_TYPE
は、結果として得られる複合オブジェクトの Content-Type です。BUCKET_NAME
は、ソース オブジェクトを含むバケットの名前です。COMPOSITE_OBJECT_NAME
は、オブジェクト作成の結果に付ける名前です。
成功した場合は、空のレスポンス本文が返されます。
次のステップ
- オブジェクト作成の詳細を確認する。
- リクエストの前提条件を満たして競合状態を防ぐ方法について学習する。