オブジェクトのアップロード

XML API を使用してオブジェクトをアップロードするには、バケット名とオブジェクト名を範囲とする PUT リクエストを作成し、オブジェクト データをリクエストの本文に配置します。アップロードしたオブジェクトは、同じ名前の既存のオブジェクトを置き換えます。Cloud Storage にアップロードするためのヒントについては、ベスト プラクティスをご覧ください。XML API などのツールを使用して単純なアップロードを行うためのクイックガイドについては、オブジェクトのアップロードをご覧ください。

PUT Object リクエストでは、いくつかの標準的な HTTP ヘッダーを使用しています。Content-Length はオブジェクトのサイズをバイト単位で指定します。また、このヘッダーはチャンク形式転送エンコーディングを使用している場合を除き必須です。オプション ヘッダーには Content-TypeContent-MD5、および下記のリストなどがあります。Cloud Storage は、Content-MD5 を除き、これらのヘッダーをオブジェクトのメタデータの一部として保存されます。オブジェクトのメタデータ値の変更については、オブジェクトのメタデータを編集するをご覧ください。

PUT Object リクエストは、既存のオブジェクトのストレージ クラスを変更する際に使用することもできます。既存のオブジェクトを書き換える必要があります。リクエストの x-goog-storage-class リクエスト ヘッダーを含めることをおすすめします。

クエリ文字列パラメータ

通常、このリクエストにはクエリ文字列パラメータは含まれません。

署名付き URL を作成して使用するときに指定するパラメータについては、署名付き URL クエリ文字列パラメータをご覧ください。

リクエスト ヘッダー

一般的なリクエスト ヘッダーに加えて、次のヘッダーを使用できます。

ヘッダー 説明 必須
Cache-Control 一般公開のオブジェクトをキャッシュに保存する条件。Cache-Control は、オブジェクトを変換できるかどうかを判別するためにも使用されます。 ×
Content-Disposition オブジェクト データの転送方法に関するプレゼンテーション情報を指定するヘッダー。 ×
Content-Encoding アップロードするオブジェクトの圧縮に使用された圧縮アルゴリズム。 ×
Content-Language コンテンツの ISO 639-1 言語コード。 ×
x-goog-acl オブジェクトに適用する定義済みの ACL。 ×
x-goog-custom-time ユーザーが指定した日時。 ×
x-goog-encryption-kms-key-name オブジェクトの暗号化に使用する顧客管理の暗号鍵 ×
x-goog-meta- カスタム メタデータの保存に使用できる拡張ヘッダー。 ×
x-goog-storage-class 有効なストレージ クラス ×

オブジェクトのアップロードと一緒に顧客指定の暗号鍵を指定するには、リクエスト内の顧客指定の暗号鍵ページにあるヘッダーを使用します。

リクエストの本文の要素

リクエストの本文にはデータが含まれています。

リクエストの構文

次の構文は、クエリ文字列パラメータを使用せず、x-goog-copy-source リクエスト ヘッダーを除外している PUT Object リクエストに適用されます。

PUT /OBJECT_NAME HTTP/1.1
Host: BUCKET_NAME.storage.googleapis.com
Date: DATE
Content-Length: REQUEST_BODY_LENGTH
Content-Type: MIME_TYPE
Content-MD5: MD5_DIGEST
Authorization: AUTHENTICATION_STRING
x-goog-storage-class: STORAGE_CLASS

レスポンス ヘッダー

使用するリクエスト ヘッダーに応じて、リクエストから返されるレスポンス ヘッダーは異なります。

レスポンスの本文の要素

このレスポンスの本文に XML ドキュメントは含まれません。

次の例では、travel-maps という名前のバケット内にある paris.jpg という名前のオブジェクトをアップロードします。

リクエスト

PUT /paris.jpg HTTP/1.1
Host: travel-maps.storage.googleapis.com
Date: Sat, 20 Feb 2010 16:31:08 GMT
Content-Type: image/jpg
Content-MD5: iB94gawbwUSiZy5FuruIOQ==
Content-Length: 554
Authorization: Bearer ya29.AHES6ZRVmB7fkLtd1XTmq6mo0S1wqZZi3-Lh_s-6Uw7p8vtgSwg

レスポンス

HTTP/1.1 200 OK
ETag: "881f7881ac1bc144a2672e45babb8839"
Date: Sat, 20 Feb 2010 16:31:09 GMT
Content-Length: 0
Content-Type: text/html

一般的なエラーコード

存在しないバケットにオブジェクトをアップロードしようとすると、404 Not Found ステータス コードが返されます。エラー レスポンスの本文では NoSuchBucketCode 要素。

指定された MD5 ダイジェストの形式が正しくないと、400 Bad Request ステータス コードが返されます。エラー レスポンスの本文では Code 要素に InvalidDigest が入ります。

ダイジェストが、本文から計算されたダイジェストと一致しないと、400 Bad Request ステータス コードが返されます。エラー レスポンスの本文では BadDigestCode 要素