GET Object

オブジェクトを取得します。

オブジェクトに対しREAD権限を持たなければ、オブジェクトを取得することはできません。

匿名ユーザにREAD権限が付与されていれば、Authorizationヘッダーを利用せずにオブジェクトを取得することができます。

リクエスト情報

シンタックス

GET /{object key} HTTP/1.1
Host: {bucket name}.storage-dag.iijgio.com
Date: {date}
Authorization: {authorization string}
Range: bytes={byte range}

リクエストパラメータ

この操作では、以下のリクエストパラメータが使用可能です。

これらのリクエストパラメータを設定することで、ユーザは GET Object のレスポンスヘッダを上書きできます。パラメータを設定しない場合は、PUT Object 時にリクエストヘッダーで指定した値が返されます。

GET Object に失敗した場合、エラーレスポンスのレスポンスヘッダは上書きされません。

表. GET Object リクエストパラメータ一覧
パラメータ名 説明 必須
response-content-type
レスポンスヘッダの Content-Type を指定します。
型:String
デフォルト値:なし
×
response-content-language
レスポンスヘッダの Content-Language を指定します。
型:String
デフォルト値:なし
×
response-expires
レスポンスヘッダの Expires を指定します。
型:String
デフォルト値:なし
×
response-cache-control
レスポンスヘッダの Cache-Control を指定します。
型:String
デフォルト値:なし
×
response-content-disposition
レスポンスヘッダの Content-Disposition を指定します。
型:String
デフォルト値:なし
×
response-content-encoding
レスポンスヘッダの Content-Encoding を指定します。
型:String
デフォルト値:なし
×

リクエストヘッダー

この操作では基本リクエストヘッダーに加え、以下のヘッダーを使用します。

表. GET Object リクエストヘッダー一覧
HTTPヘッダー 説明 必須
Range
ダウンロードするオブジェクトの範囲を指定します。

bytes=開始位置-終了位置の形式で記述します。開始位置を省略した場合、開始位置は0となり、終了位置を省略した場合はファイルの終了位置(オブジェクトのサイズ)となります。また、先頭のbytes=を省略することもできます。

型:String
デフォルト値:なし
値の指定パターンは、以下の3通りです。
  • start-end
    • startバイトからendバイトまでのデータを返します。
  • start-
    • startバイト以降のデータを返します。
  • -end
    • ファイルの後端から end バイトまでのデータを返します。
範囲をカンマ区切りで複数指定された場合、最初に記載されている範囲のみを解釈します。
(e.x., bytes=0-999, bytes=1000-, -1999)
×
If-Modified-Since
指定された時間以降にオブジェクトが更新されていればオブジェクトを返し、その他の場合には304 Not Modifiedを返します。
型:String
デフォルト値:なし
制約:なし
×
If-Unmodified-Since
指定された時間以降にオブジェクトが更新されていなければ、オブジェクトを返し、その他の場合には412 Precondition Failedを返します。
型:String
デフォルト値:なし
×
If-Match
指定された値がオブジェクトのETagと 一致する 場合にオブジェクトを返します。一致しない場合には412 Precondition Failedを返します。
型:String
デフォルト値:なし
×
If-None-Match
指定された値がオブジェクトのETagと 一致しない 場合にオブジェクトを返します。一致する場合には304 Not Modifiedを返します。
型:String
デフォルト値:なし
×

サーバサイド暗号化で暗号化されたオブジェクトを取得する場合、以下のヘッダを指定します。

表. GET Object リクエストヘッダー(サーバサイド暗号化)一覧
名前 説明 必須
x-iijgio-server-side-encryption-customer-algorithm オブジェクトの復号に用いるアルゴリズムを指定します。値は”AES256”である必要があります。
x-iijgio-server-side-encryption-customer-key オブジェクトの復号に用いる暗号化キーを指定します。Base64でエンコードした値をセットします。暗号化キーの長さはBase64エンコード前で256ビットである必要があります。暗号化キーは対象オブジェクトの暗号化後に速やかに破棄されます。
x-iijgio-server-side-encryption-customer-key-MD5 暗号化キーをMD5(128bit)でダイジェストし、Base64エンコードした値をセットします。暗号化キーが正しく送られて来たかサービス側で検証するために利用します。

リクエストエレメント

この操作ではリクエストエレメントは使用しません。

レスポンス情報

レスポンスヘッダー

この操作では基本レスポンスヘッダーに加え、以下のヘッダーを返します。

表. GET Object レスポンスヘッダー一覧
HTTPヘッダー 説明
x-iijgio-meta-*
オブジェクトのPUT操作をした際にメタデータを用意していた場合、x-iijgio-meta-を接頭辞として、レスポンスヘッダーで返されます。
例、family -> x-iijgio-meta-family
メタデータは逐語的に返されます(解釈は行いません)。
型:String

Content-TypeはPUT Object時に指定された値が返されます。 PUT Object時にContent-Typeを指定されなかったオブジェクトについては、”binary/octet-stream”として返されます。

Rangeヘッダーを指定したリクエストに対しては、レスポンスに以下のヘッダーに正しい値を設定して返します。
Content-Length: xxx
Accept-Ranges: yyy
Content-Range: start-end/total

取得対象のオブジェクトがサーバサイド暗号化で暗号化されている場合、追加で以下のヘッダを返します。

表. GET Object レスポンスヘッダー(サーバサイド暗号化)一覧
HTTPヘッダー 説明
x-iijgio-server-side-encryption-customer-algorithm
暗号化に利用したアルゴリズムを返します。
型:String
x-iijgio-server-side-encryption-customer-key-MD5
暗号化に利用した暗号化キーのMD5値を返します。
型:String

レスポンスエレメント

この操作はレスポンスエレメントを返しません。

エラー情報

この操作では以下のエラーを返します。

表. GET Object エラーコード一覧
コード ステータス 内容
InvalidAccessKeyId 403 Forbidden 指定のアクセスキーIDを持つユーザが存在しません。
SignatureDoesNotMatch 403 Forbidden 指定されたリクエストのシグネチャが一致しません。
AccessDenied 403 Forbidden オブジェクトに対するREAD権限がありません。
NoSuchKey 404 Not Found 指定Keyのオブジェクトが存在しません。
InvalidRange 416 Request Range Not Satisfiable 無効な範囲が指定されています。
InvalidArgument 400 Bad Request
以下のいずれかが原因です。
  • サーバサイド暗号化用のヘッダの指定に誤りがあります
  • ヘッダで指定された暗号化キーが、暗号化時の暗号化キーと一致しません
  • httpsで通信をしていません
InvalidEncryptionAlgorithmError 400 Bad Request x-iijgio-server-side-encryption-customer-algorithに誤った値が指定されています。

サンプル

オブジェクトを取得するサンプル
リクエスト
GET /my-image.jpg HTTP/1.1
Host: bucket.storage-dag.iijgio.com
Date: Wed, 28 Oct 2009 22:32:00 GMT
Authorization: IIJGIO 02236Q3V0WHVSRW0EXG2:0RQf4/cRonhpaBX5sCYVf1bNRuU=
レスポンス
HTTP/1.1 200 OK
x-iijgio-id-2: eftixk72aD6Ap51TnqcoF8eFidJG9Z/2mkiDFu8yU9AS1ed4OpIszj7UDNEHGran
x-iijgio-request-id: 318BC8BC148832E5
Date: Wed, 28 Oct 2009 22:32:00 GMT
Last-Modified: Wed, 12 Oct 2009 17:50:00 GMT
ETag: "fba9dede5f27731c9771645a39863328"
Content-Length: 434234
Content-Type: text/plain
Server: storage-dag.iijgio.com

[434234 bytes of object data]
サーバサイド暗号化されたオブジェクトを取得するサンプル
リクエスト
GET /my-image.jpg HTTP/1.1
Host: bucket.storage-dag.iijgio.com
Date: Wed, 28 Oct 2009 22:32:00 GMT
Authorization: IIJGIO 02236Q3V0WHVSRW0EXG2:0RQf4/cRonhpaBX5sCYVf1bNRuU=
x-iijgio-server-side-encryption-customer-algorithm: AES256
x-iijgio-server-side-encryption-customer-key: MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=
x-iijgio-server-side-encryption-customer-key-md5: dnF5x6K/8ZZRzpfSlMMM+w==
レスポンス
HTTP/1.1 200 OK
x-iijgio-id-2: eftixk72aD6Ap51TnqcoF8eFidJG9Z/2mkiDFu8yU9AS1ed4OpIszj7UDNEHGran
x-iijgio-request-id: 318BC8BC148832E5
x-iijgio-server-side-encryption-customer-algorithm: AES256
x-iijgio-server-side-encryption-customer-key-md5: dnF5x6K/8ZZRzpfSlMMM+w==
Date: Wed, 28 Oct 2009 22:32:00 GMT
Last-Modified: Wed, 12 Oct 2009 17:50:00 GMT
ETag: "7510dc34e6d7b31a30bd83c81a570274"
Content-Length: 434234
Content-Type: text/plain
Server: storage-dag.iijgio.com

[434234 bytes of object data]

HEAD Object

オブジェクトのメタデータを取得します(オブジェクトそのものは取得しません)。

オブジェクトに対しREAD権限を持たなければ、メタデータを取得することはできません。

匿名ユーザにREAD権限が付与されていれば、Authorizationヘッダーを利用せずにオブジェクトのメタデータを取得することができます。

HEAD操作はGET操作と同じオプションを持ちます。レスポンスボディがないのを除いて、GETのレスポンスと同じです。

リクエスト情報

シンタックス

HEAD /{object key} HTTP/1.1
Host: {bucket name}.storage-dag.iijgio.com
Date: {date}
Authorization: {authorization string}

リクエストパラメータ

この操作ではリクエストパラメータは使用しません。

リクエストヘッダー

この操作では基本リクエストヘッダーに加え、以下のヘッダーを使用します。

表. HEAD Object リクエストヘッダー一覧
HTTPヘッダー 説明 必須
Range
ダウンロードするオブジェクトの範囲を指定します。
bytes=開始位置-終了位置 の形式で記述します。開始位置を省略した場合、開始位置は 0 となり、終了位置を省略した場合はファイルの終了位置(オブジェクトのサイズ)となります。また、先頭の bytes= を省略することもできます。
型:String
デフォルト値:なし
値の指定パターンは、以下の3通りです。
  • start-end
    • startバイトからendバイトまでのデータを返します。
  • start-
    • startバイト以降のデータを返します。
  • -end
    • ファイルの後端から end バイトまでのデータを返します。
範囲をカンマ区切りで複数指定された場合、最初に記載されている範囲のみを解釈します。
(e.x., bytes=0-999, bytes=1000-, -1999)
×
If-Modified-Since
指定された時間以降にオブジェクトが更新されていればオブジェクトを返し、その他の場合には304 Not Modifiedを返します。
型:String
デフォルト値:なし
×
If-Unmodified-Since
指定された時間以降にオブジェクトが更新されていなければ、オブジェクトを返し、その他の場合には412 Precondition Failedを返します。
型:String
デフォルト値:なし
×
If-Match
指定された値がオブジェクトのETagと 一致する 場合にオブジェクトを返します。一致しない場合には412 Precondition Failedを返します。
型:String
デフォルト値:なし
×
If-None-Match
指定された値がオブジェクトのETagと 一致しない 場合にオブジェクトを返します。一致する場合には304 Not Modifiedを返します。
型:String
デフォルト値:なし
×

サーバサイド暗号化で暗号化されたオブジェクトを取得する場合、以下のヘッダを指定します。

表. HEAD Object リクエストヘッダー(サーバサイド暗号化)一覧
名前 説明 必須
x-iijgio-server-side-encryption-customer-algorithm オブジェクトの復号に用いるアルゴリズムを指定します。値は”AES256”である必要があります。
x-iijgio-server-side-encryption-customer-key オブジェクトの復号に用いる暗号化キーを指定します。Base64でエンコードした値をセットします。暗号化キーの長さはBase64エンコード前で256ビットである必要があります。暗号化キーは対象オブジェクトの暗号化後に速やかに破棄されます。
x-iijgio-server-side-encryption-customer-key-MD5 暗号化キーをMD5(128bit)でダイジェストし、Base64エンコードした値をセットします。暗号化キーが正しく送られて来たかサービス側で検証するために利用します。

リクエストエレメント

この操作ではリクエストエレメントは使用しません。

レスポンス情報

レスポンスヘッダー

この操作では基本レスポンスヘッダーに加え、以下のヘッダーを返します。

表. HEAD Object レスポンスヘッダー一覧
HTTPヘッダー 説明
x-iijgio-meta-*
オブジェクトのPUT操作をした際にメタデータを用意していた場合、x-iijgio-meta-を接頭辞として、レスポンスヘッダーで返されます。
例、family -> x-iijgio-meta-family
メタデータは逐語的に返されます(解釈は行いません)。
型:String
x-iijgio-missing-meta
x-iijgio-metaヘッダーで返らないメタデータのエントリー数がセットされます。

SOAP APIのようにREST APIよりもフレキシブルにメタデータをサポートしているAPIを使用してメタデータを作成した場合に起こる可能性があります。

型:String

取得対象のオブジェクトがサーバサイド暗号化で暗号化されている場合、追加で以下のヘッダを返します。

表. HEAD Object レスポンスヘッダー(サーバサイド暗号化)一覧
HTTPヘッダー 説明
x-iijgio-server-side-encryption-customer-algorithm
暗号化に利用したアルゴリズムを返します。
型:String
x-iijgio-server-side-encryption-customer-key-MD5
暗号化に利用した暗号化キーのMD5値を返します。
型:String

レスポンスエレメント

この操作はレスポンスエレメントを返しません。

エラー情報

この操作では以下のエラーを返します。

表. HEAD Object エラーコード一覧
コード ステータス 内容
InvalidAccessKeyId 403 Forbidden 指定のアクセスキーIDを持つユーザが存在しません。
SignatureDoesNotMatch 403 Forbidden 指定されたリクエストのシグネチャが一致しません。
AccessDenied 403 Forbidden オブジェクトに対するREAD権限がありません。
NoSuchKey 404 Not Found 指定keyのオブジェクトが存在しません。
InvalidRange 416 Request Range Not Satisfiable 無効な範囲が指定されています。
InvalidArgument 400 Bad Request
以下のいずれかが原因です。
  • サーバサイド暗号化用のヘッダの指定に誤りがあります
  • ヘッダで指定された暗号化キーが、暗号化時の暗号化キーと一致しません
  • httpsで通信をしていません
InvalidEncryptionAlgorithmError 400 Bad Request x-iijgio-server-side-encryption-customer-algorithに誤った値が指定されています。

サンプル

オブジェクトのメタデータを取得するサンプル
リクエスト
HEAD /my-image.jpg HTTP/1.1
Host: bucket.storage-dag.iijgio.com
Date: Wed, 28 Oct 2009 22:32:00 GMT
Authorization: IIJGIO 02236Q3V0RonhpaBX5sCYVf1bNRuU=
レスポンス
HTTP/1.1 200 OK
x-iijgio-id-2: ef8yU9AS1ed4OpIszj7UDNEHGran
x-iijgio-request-id: 318BC8BC143432E5
x-iijgio-version-id: 3HL4kqtJlcpXroDTDmjVBH40Nrjfkd
Date: Wed, 28 Oct 2009 22:32:00 GMT
Last-Modified: Sun, 1 Jan 2006 12:00:00 GMT
ETag: "fba9dede5f27731c9771645a39863328"
Content-Length: 434234
Content-Type: text/plain
Server: storage-dag.iijgio.com

OPTIONS Object

バケットに対して PUT Bucket cors を使用してCross-Origin Resource Sharing(CORS)の設定を行っていた場合、指定のオリジンやメソッド、ヘッダーがリクエストできるか確認するプリフライトリクエストを受けることができます。
もし CORS が有効でない場合は 403 Forbidden レスポンスを返します。

リクエスト情報

シンタックス

OPTIONS /{object key} HTTP/1.1
Host: {bucket name}.storage-dag.iijgio.com
Origin: {origin}
Access-Control-Request-Method: {HTTP method}
Access-Control-Request-Headers: {HTTP request headers}

リクエストパラメータ

この操作ではリクエストパラメータを使用しません。

リクエストヘッダー

この操作では基本リクエストヘッダーに加え、以下のヘッダーを使用します。

表. OPTIONS Object リクエストヘッダー一覧
HTTPヘッダー 説明 必須
Origin
クロスサイトリクエストやプリフライトリクエストの生成元を示す識別子
型:String
デフォルト値:なし
Access-Control-Request-Method
実際にクロスサイトリクエストを行う時のHTTPメソッド
型:String
デフォルト値:なし
Access-Control-Request-Headers
実際にクロスサイトリクエストを行う時のHTTPヘッダー

複数指定する場合はカンマ(,)区切りで列挙します。

型:String
デフォルト値:なし
×

リクエストエレメント

この操作ではリクエストエレメントは使用しません。

レスポンス情報

レスポンスヘッダー

この操作では基本レスポンスヘッダーに加え、以下のヘッダーを返します。

表. OPTIONS Object レスポンスヘッダー一覧
HTTPヘッダー 説明
Access-Control-Allow-Origin
リクエストで送付したオリジン

もしリクエストで送付したオリジンが許可されていない場合は、レスポンスにこのヘッダー要素は含まれません。

型:String
Access-Control-Max-Age
プリフライトリクエストの結果をキャッシュしてよい時間
型:String
Access-Control-Allow-Methods
クロスサイトリクエストで許可されているメソッド
複数ある場合はカンマ(,)区切りで列挙されています。
リクエストで指定したメソッドが許可されていない場合は、このヘッダー要素に指定したメソッドは含まれていません。
型:String
Access-Control-Allow-Headers
クロスサイトリクエストで許可されているヘッダー
複数ある場合はカンマ(,)区切りで列挙されています。
リクエストで指定したヘッダーが許可されていない場合は、このヘッダー要素に指定したヘッダーは含まれていないか、 Access-Control- ヘッダーがレスポンスに含まれていません。
型:String
Access-Control-Expose-Headers
サーバから通知される
複数ある場合はカンマ(,)区切りで列挙されています。
リクエストで指定したヘッダーが許可されていない場合は、このヘッダー要素に指定したヘッダーは含まれていないか、 Access-Control- ヘッダーがレスポンスに含まれていません。
型:String

レスポンスエレメント

この操作はレスポンスエレメントを返しません。

エラー情報

この操作は共通のエラーレスポンスを返します。詳しくはエラーコード一覧をご覧ください。

サンプル

http://www.example.com からPUTメソッドのクロスサイトリクエストのプリフライトをリクエストするサンプル
リクエスト
OPTIONS /myobject HTTP/1.1
Host: mybucket.storage-dag.iijgio.com
Date: Wed, 1 Oct 2014 00:00:00 GMT
Origin: http://www.example.com
Access-Control-Request-Method: PUT
レスポンス
HTTP/1.1 200 OK
x-iijgio-id-2: eftixk72aD6Ap51TnqcoF8eFidJG9Z/2mkiDFu8yU9AS1ed4OpIszj7UDNEHGran
x-iijgio-request-id: 318BC8BC148832E5
Date: Wed, 1 Oct 2014 00:00:00 GMT
Access-Control-Allow-Origin: http://www.example.com
Access-Control-Allow-Methods: PUT
Access-Control-Expose-Headers: x-iijgio-request-id
Content-Length: 0
Server: storage-dag.iijgio.com

PUT Object

バケットにオブジェクトを追加します。

この操作を行うユーザは、オブジェクトを追加するバケットに対しWRITE権限を付与されていなければなりません。

本サービスはオブジェクトの部分保存は行いません。成功のレスポンスはオブジェクト全体を保存したことを意味します。

同一のオブジェクトに対してほぼ同時に複数の書き込みの要求を受けた場合、最後に書かれた内容で上書きされます。つまり、通信速度やオブジェクトのサイズによってはリクエストの順と異なる場合が発生します。本サービスはオブジェクトをロックする機能は提供していません。

通信時にデータが破損していないことを保証するためにContent-MD5ヘッダーを用います。Content-MD5 を用いることで、あらかじめ計算しておいたMD5ハッシュ値とアップロードしたオブジェクトのMD5ハッシュ値が比較され正しくアップロードされたことを確認できます。また、返されたETagと計算した値を比較することもできます。

Note

  • PUT Objectを行う際に認証したユーザはオブジェクト所有者となり、常にREAD_ACPおよびWRITE_ACP権限を保持します。
  • オブジェクトのキー名は一連のUnicode文字で、UTF-8にエンコードした時のバイト長の最大サイズは950 Bytesです。
  • オブジェクト登録の際に100ms以内の遅延が発生する場合があります。PUT Objectの実行後に、同一オブジェクトに対して連続して操作を行い 404 Not Found が返された場合は、操作のリトライをお願い致します。

Warning

Bucketに対して、AllUsersグループ( http://acs.dag.iijgio.com/groups/global/AllUsers )にWRITE権限を付与した状態で、匿名(anonymous)ユーザでPUT Objectした場合はAllUsersグループがそのオブジェクトの所有者となります。
このObjectに対しても上記のREAD_ACP・WRITE_ACP権限の暗黙的な保持が適用されるため、全ての匿名(anonymous)ユーザを含む全ての利用者にREAD_ACPおよびWRITE_ACP権限が付与された状態になりますのでご注意ください。

リクエスト情報

シンタックス

PUT /{object key} HTTP/1.1
Host: {bucket name}.storage-dag.iijgio.com
Date: {date}
Authorization: {authorization string}

リクエストパラメータ

この操作ではリクエストパラメータは使用しません。

リクエストヘッダー

この操作では基本リクエストヘッダーに加え、以下のヘッダーを使用します。

表. PUT Object リクエストヘッダー一覧
HTTPヘッダー 説明 必須
Cache-Control
キャッシュの振る舞いの指定

詳しい情報についてはrfc2616#sec14.9をご覧ください。

型:String
デフォルト値:なし
×
Content-Disposition
オブジェクトのプレゼンテーショナルな情報の指定

詳しい情報についてはrfc2616#sec19.5.1をご覧ください。

型:String
デフォルト値:なし
×
Content-Encoding
コンテンツのエンコード方式

詳しい情報についてはrfc2616#sec14.11をご覧ください。

型:String
デフォルト値:なし
×
Content-MD5
Base64でエンコードされたRFC 1864に準拠した128ビットMD5のダイジェストメッセージ(ヘッダーなし)

送信データの保全チェックに用います。

型:String
デフォルト値:なし
×
Expect
100-continueを使用する場合、確認の応答を受信するまで、リクエストボディを送信しません。

リクエストヘッダー部でメッセージが拒否された場合、リクエストボディを送信しません。

型:String
デフォルト値:なし
有効な値:100-continue
×
Expires
有効期限

ミリ秒で指定します。

型:Integer
デフォルト値:なし
×
x-iijgio-meta-
ユーザーメタデータ

この接頭辞で始まる全てのヘッダーがユーザーメタデータであるとみなされます。このユーザーメタデータはオブジェクトと共に格納され、オブジェクト取得時に返されます。HTTPリクエストの合計サイズ(ボディを含まない)は8KB以下でなければなりません。

型:String
デフォルト値:なし
×
x-iijgio-website-redirect-location
このオブジェクトに対するリクエストのリダイレクト先URL

このヘッダー要素は、指定のバケットのウェブサイトサポートが有効な場合に限り指定することができます。同じバケットの異なるオブジェクトへのリダイレクトであれば以下のようなURLを指定します。

x-iijgio-website-redirect-location: /another_object

また、外部のウェブサイトであれば以下のように絶対URLを指定します。

x-iijgio-website-redirect-location: http://www.example.com/
型:String
デフォルト値:なし

Warning

制約

  • この値は/またはhttp://,https://で始まる文字列でなければなりません。
  • この値のサイズは2KB以内でなければなりません。
×

Access Control List(ACL)の設定

この操作は、オブジェクトの作成と同時にアカウントやグループ(匿名ユーザなど)に対して Access Control List(ACL) として権限を付与することができます。
ACLを設定する方法として以下の2つが用意されています。ただし、両方を同時に指定することはできません。

Canned ACL で指定する場合

表. PUT Object リクエストヘッダー(Canned ACL)
HTTPヘッダー 説明 必須
x-iijgio-acl
オブジェクトのACLを設定する
型:String
有効な値:private | public-read | public-read-write | bucket-owner-read | bucket-owner-full-control
デフォルト値:private
×

詳細に指定する場合

より詳細に ACL を設定する場合は以下のリクエストヘッダーを指定してください。

表. PUT Object リクエストヘッダー(ACL詳細指定)
HTTPヘッダー 説明 必須
x-iijgio-grant-read
このオブジェクトの閲覧を許可するアカウントまたはグループのリスト
型:String
デフォルト値:なし
×
x-iijgio-grant-read-acp
オブジェクトACLの参照を許可するアカウントまたはグループのリスト
型:String
デフォルト値:なし
×
x-iijgio-grant-write-acp
オブジェクトACLの設定を許可するアカウントまたはグループのリスト
型:String
デフォルト値:なし
×
x-iijgio-grant-full-control
このオブジェクトに対して全ての権限を付加するアカウントまたはグループのリスト
型:String
デフォルト値:なし
×

設定するアカウントまたはグループはそれぞれtype=value形式で指定します。typeには以下のいずれかを指定できます。

  • emailAddress: アカウントのメールアドレス

  • id: アカウントの Show ID

  • url: グループを示す以下のURL

x-iijgio-grant-readヘッダーを指定する例:

x-iijgio-grant-read: emailAddress="taro@dag.iijgio.com", emailAddress="jiro@dag.iijgio.com"

サーバサイド暗号化

サーバサイド暗号化でオブジェクトを暗号化する場合、以下のヘッダを指定します。

Warning

暗号化キーは本サービス内に保存されません。暗号化実施後に破棄します。暗号化キーはお客様が管理する必要があります。
暗号化キーが不明となった場合、オブジェクトの取得が出来なくなります。
表. PUT Object リクエストヘッダー(サーバサイド暗号化)一覧
名前 説明 必須
x-iijgio-server-side-encryption-customer-algorithm 暗号化で使用するアルゴリズムを指定します。値は”AES256”である必要があります。
x-iijgio-server-side-encryption-customer-key 暗号化で使用する暗号化キーを指定します。Base64でエンコードした値をセットします。暗号化キーの長さはBase64エンコード前で256ビットである必要があります。暗号化キーは対象オブジェクトの暗号化後に速やかに破棄されます。
x-iijgio-server-side-encryption-customer-key-MD5 暗号化キーをMD5(128bit)でダイジェストし、Base64エンコードした値をセットします。暗号化キーが正しく送られて来たかサービス側で検証するために利用します。

リクエストエレメント

この操作ではリクエストエレメントは使用しません。

レスポンス情報

レスポンスヘッダー

この操作では基本レスポンスヘッダーを返します。

オブジェクトをサーバサイド暗号化で暗号化した場合、追加で以下のヘッダを返します。

表. PUT Object レスポンスヘッダー(サーバサイド暗号化)一覧
HTTPヘッダー 説明
x-iijgio-server-side-encryption-customer-algorithm
暗号化に利用したアルゴリズムを返します。
型:String
x-iijgio-server-side-encryption-customer-key-MD5
暗号化に利用した暗号化キーのMD5値を返します。
型:String

レスポンスエレメント

この操作はレスポンスエレメントを返しません。

エラー情報

この操作では以下のエラーを返します。

表. PUT Object エラーコード一覧
コード ステータス 内容
InvalidAccessKeyId 403 Forbidden 指定のアクセスキーIDを持つユーザが存在しません。
SignatureDoesNotMatch 403 Forbidden 指定されたリクエストのシグネチャが一致しません。
AccessDenied 403 Forbidden バケットに対するWRITE権限がありません。
NoSuchBucket 404 Not Found 指定のバケットが存在しません。
EntityTooSmall 400 Bad Request ファイルが許容最低サイズよりも小さいです。
EntityTooLarge 400 Bad Request ファイルが許容最大サイズよりも大きいです。
KeyTooLong 400 Bad Request オブジェクトのkeyが許容サイズを超えています。
MetadataTooLarge 400 Bad Request メタデータのサイズが許容サイズを超えています。
InvalidArgument 400 Bad Request
以下のいずれかが原因です。
  • サーバサイド暗号化用のヘッダの指定に誤りがあります
  • httpsで通信をしていません
InvalidEncryptionAlgorithmError 400 Bad Request x-iijgio-server-side-encryption-customer-algorithに誤った値が指定されています。

サンプル

オブジェクトmy-image.jpgをバケットmyBucketに追加するサンプル
リクエスト
PUT /my-image.jpg HTTP/1.1
Host: myBucket.storage-dag.iijgio.com
Date: Wed, 12 Oct 2009 17:50:00 GMT
Authorization: IIJGIO 15B4D3461F177624206A:xQE0diMbLRepdf3YB+FIEXAMPLE=
Content-Type: text/plain
Content-Length: 11434
Expect: 100-continue

[11434 bytes of object data]
レスポンス
HTTP/1.1 100 Continue
HTTP/1.1 200 OK
x-iijgio-id-2: LriYPLdmOdAiIfgSm/F1YsViT1LW94/xUQxMsF7xiEb1a0wiIOIxl+zbwZ163pt7
x-iijgio-request-id: 0A49CE4060975EAC
Date: Wed, 12 Oct 2009 17:50:00 GMT
ETag: "1b2cf535f27731c974343645a3985328"
Content-Length: 0
Server: storage-dag.iijgio.com
オブジェクトmy-image.jpgをバケットmyBucketに、サーバサイド暗号化で暗号化しながら追加するサンプル
リクエスト
PUT /my-image.jpg HTTP/1.1
Host: myBucket.storage-dag.iijgio.com
Date: Wed, 12 Oct 2009 17:50:00 GMT
Authorization: IIJGIO 15B4D3461F177624206A:xQE0diMbLRepdf3YB+FIEXAMPLE=
x-iijgio-server-side-encryption-customer-algorithm: AES256
x-iijgio-server-side-encryption-customer-key: MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=
x-iijgio-server-side-encryption-customer-key-md5: dnF5x6K/8ZZRzpfSlMMM+w==
Content-Type: text/plain
Content-Length: 11434
Expect: 100-continue

[11434 bytes of object data]
レスポンス
HTTP/1.1 100 Continue
HTTP/1.1 200 OK
x-iijgio-id-2: LriYPLdmOdAiIfgSm/F1YsViT1LW94/xUQxMsF7xiEb1a0wiIOIxl+zbwZ163pt7
x-iijgio-request-id: 0A49CE4060975EAC
x-iijgio-server-side-encryption-customer-algorithm: AES256
x-iijgio-server-side-encryption-customer-key-md5: dnF5x6K/8ZZRzpfSlMMM+w==
Date: Wed, 12 Oct 2009 17:50:00 GMT
ETag: "7510dc34e6d7b31a30bd83c81a570274"
Content-Length: 0
Server: storage-dag.iijgio.com

PUT Object (Copy)

オブジェクトを複製します。

この操作はGET操作を実行して、次にPUT操作を実行した時と結果は同じです。

リクエストヘッダーにx-iijgio-copy-sourceを加えると、ソースオブジェクトを目的のバケットに複製します。

オブジェクトの複製は同一リージョンに属するバケット間でも、異なるリージョンに属するバケット間でも実行することが出来ます。

オブジェクトを複製時に、メタデータとして複製元のメタデータを設定するか、全く新しいメタデータを設定するかを選択できます。複製元のメタデータを設定する場合、メタデータの大部分は保存できますが、ACLは複製されません(デフォルト値としてprivateが設定されます)。

ACLの設定を行う(デフォルト値を無効にする)には、リクエスト生成時にx-iijgio-aclヘッダーを使用し、新たにACLを設定します。

この操作を行うユーザは、コピー元のオブジェクトに対しREAD権限が付与され、コピー先のバケットに対しWRITE権限が付与されていなければなりません。

リクエストヘッダーに特定の条件(ETagがマッチするか、オブジェクトが指定の日時以降(以前)に更新されていないか等)を設定することができます。

リクエストを受信した時点、またはファイルコピーの実行中にエラーを返す可能性があります。リクエスト受信時の場合、標準のエラーコードを返します。実行中のエラーの場合、エラーは200レスポンスの中に埋め込まれます。

リクエスト情報

シンタックス

PUT /{destination object key} HTTP/1.1
Host: {destination bucket name}.storage-dag.iijgio.com
Date: date
x-iijgio-copy-source: /{source bucket name}/{source object key}
x-iijgio-metadata-directive: {metadata directive}
x-iijgio-copy-source-if-match: {etag}
x-iijgio-copy-source-if-none-match: {etag}
x-iijgio-copy-source-if-unmodified-since: {time stamp}
x-iijgio-copy-source-if-modified-since: {time stamp}
<request metadata>
Authorization: {authorization string}

リクエストパラメータ

この操作ではリクエストパラメータは使用しません。

リクエストヘッダー

この操作では基本リクエストヘッダーに加え、以下のヘッダーを使用します。

表. PUT Object(Copy) リクエストヘッダー一覧
HTTPヘッダー 説明 必須
x-iijgio-acl
ACLの設定
型:String
有効な値:private, public-read, public-read-write, bucket-owner-read, bucket-owner-full-control
デフォルト値:private
×
x-iijgio-copy-source
バケット名とオブジェクトキー

バケット名とオブジェクトのキーはスラッシュ(/)で区切ります。

型:String
デフォルト値:なし

Warning

制約

この文字列はURLエンコードされていなければなりません。また、ユーザはソースオブジェクトに対してREAD権限が必要です。

x-iijgio-metadata-directive
メタデータをオブジェクトからコピーした値にするか、リクエストで提供した値にするかの指定
型:String
デフォルト値:COPY
有効な値:COPY, REPLACE

Warning

制約

COPYまたはREPLACE以外の値の場合、400エラーレスポンスが返ります。REPLACE を指定しながらMetadataDirectiveヘッダーが設定されていない場合、コピーを実行することができません。

×
x-iijgio-copy-source-if-match
ETagが指定のタグと一致する場合コピーを実行します。

一致しない場合には412 ステータスエラー(precondition failed)を返します。

型:String
デフォルト値:なし

Warning

制約

このヘッダーはx-iijgio-copy-source-if-unmodified-sinceヘッダーと併用できますが、他のコピー条件指定のヘッダーとは併用できません。

×
x-iijgio-copy-source-if-none-match
ETagが指定のタグとマッチしない場合コピーを実行します。

マッチする場合には412 ステータスエラー(precondition failed)を返します。

型:String
デフォルト値:なし

Warning

制約

このヘッダーはx-iijgio-copy-source-if-modified-sinceヘッダーと併用できますが、他のコピー条件指定のヘッダーとは併用できません。

×
x-iijgio-copy-source-if-unmodified-since
指定された時間以降にオブジェクトが更新されていなければ、コピーを実行し、その他の場合には412 ステータスエラー(precondition failed)を返します。
型:String
デフォルト値:None

Warning

制約

  • この文字列はHTTPで有効なDateでなければなりません。
  • このヘッダーはx-iijgio-copy-source-if-matchヘッダーと併用できますが、他のコピー条件指定のヘッダーとは併用できません。
×
x-iijgio-copy-source-if-modified-since
指定された時間以降にオブジェクトが更新されていれば、コピーを実行し、その他の場合には412 ステータスエラー(precondition failed)を返します。
型:String
デフォルト値:None

Warning

制約

  • この文字列はHTTPで有効なDateでなければなりません。
  • このヘッダーはx-iijgio-copy-source-if-none-matchヘッダーと併用できますが、他のコピー条件指定のヘッダーとは併用できません。
×
x-iijgio-website-redirect-location
このオブジェクトに対するリクエストのリダイレクト先URL

このヘッダー要素は、指定のバケットのウェブサイトサポートが有効な場合に限り指定することができます。同じバケットの異なるオブジェクトへのリダイレクトであれば以下のようなURLを指定します。

x-iijgio-website-redirect-location: /another_object

また、外部のウェブサイトであれば以下のように絶対URLを指定します。

x-iijgio-website-redirect-location: http://www.example.com/
型:String
デフォルト値:なし

Warning

制約

  • この値は/またはhttp://,https://で始まる文字列でなければなりません。
  • この値のサイズは2KB以内でなければなりません。
×

サーバサイド暗号化

コピーしたオブジェクトをサーバサイド暗号化で暗号化する場合、以下のヘッダを指定します。

Warning

暗号化キーは本サービス内に保存されません。暗号化実施後に破棄します。暗号化キーはお客様が管理する必要があります。
暗号化キーが不明となった場合、オブジェクトの取得が出来なくなります。
表. PUT Object(Copy) リクエストヘッダー(サーバサイド暗号化) 一覧
名前 説明 必須
x-iijgio-server-side-encryption-customer-algorithm 暗号化で使用するアルゴリズムを指定します。値は”AES256”である必要があります。
x-iijgio-server-side-encryption-customer-key 暗号化で使用する暗号化キーを指定します。Base64でエンコードした値をセットします。暗号化キーの長さはBase64エンコード前で256ビットである必要があります。暗号化キーは対象オブジェクトの暗号化後に速やかに破棄されます。
x-iijgio-server-side-encryption-customer-key-MD5 暗号化キーをMD5(128bit)でダイジェストし、Base64エンコードした値をセットします。暗号化キーが正しく送られて来たかサービス側で検証するために利用します。

ソースオブジェクト(x-iijgio-copy-sourceで指定したオブジェクト)がサーバサイド暗号化で暗号化されている場合、以下のヘッダを指定します。

表. PUT Object(Copy) リクエストヘッダー(サーバサイド暗号化 - Copy) 一覧
名前 説明 必須
x-iijgio-copy-source-server-side-encryption-customer-algorithm ソースオブジェクトの復号に用いるアルゴリズムを指定します。値は”AES256”である必要があります。
x-iijgio-copy-source-server-side-encryption-customer-key ソースオブジェクトの復号に用いる暗号化キーを指定します。Base64でエンコードした値をセットします。暗号化キーの長さはBase64エンコード前で256ビットである必要があります。暗号化キーは対象オブジェクトの複号後に速やかに破棄されます。
x-iijgio-copy-source-server-side-encryption-customer-key-MD5 ソースオブジェクトの暗号化キーをMD5(128bit)でダイジェストし、Base64エンコードした値をセットします。暗号化キーが正しく送られて来たかサービス側で検証するために利用します。

リクエストエレメント

この操作ではリクエストエレメントは使用しません。

レスポンス情報

レスポンスヘッダー

この操作では基本レスポンスヘッダーを返します。

オブジェクトをサーバサイド暗号化で暗号化した場合、追加で以下のヘッダを返します。

表. PUT Object(Copy) レスポンスヘッダー(サーバサイド暗号化)一覧
HTTPヘッダー 説明
x-iijgio-server-side-encryption-customer-algorithm
暗号化に利用したアルゴリズムを返します。
型:String
x-iijgio-server-side-encryption-customer-key-MD5
暗号化に利用した暗号化キーのMD5値を返します。
型:String

コピー元のオブジェクトがサーバサイド暗号化で暗号化されていた場合、追加で以下のヘッダを返します。

表. PUT Object(Copy) レスポンスヘッダー(サーバサイド暗号化)一覧
HTTPヘッダー 説明
x-iijgio-copy-source-server-side-encryption-customer-algorithm
ソースオブジェクトの復号に用いたアルゴリズムを返します。
型:String
x-iijgio-copy-source-server-side-encryption-customer-key-MD5
ソースオブジェクトの復号に用いた暗号化キーのMD5値を返します。
型:String

レスポンスエレメント

この操作では以下のレスポンスエレメントを返します。

表. PUT Object(Copy) レスポンスエレメント一覧
名前 説明
CopyObjectResult
全てのレスポンスエレメントのためのコンテナ
型:Container
親:なし
ETag
新しいオブジェクトから生成されたMD5ハッシュ値

ETagはメタデータの変更を反映せず、オブジェクトの変更のみ反映します。

型:String
親:CopyObjectResult
LastModified
最終更新日時
型:String
親:CopyObjectResult

エラー情報

この操作では以下のエラーを返します。

表. PUT Object(Copy) エラーコード一覧
コード ステータス 内容
InvalidAccessKeyId 403 Forbidden 指定のアクセスキーIDを持つユーザが存在しません。
SignatureDoesNotMatch 403 Forbidden 指定されたリクエストのシグネチャが一致しません。
AccessDenied 403 Forbidden Objrctに対するREAD権限がない、またはバケットに対するWRITE権限がありません。
NoSuchBucket 404 Not Found 指定のバケットが存在しません。
NoSuchKey 404 Not Found 指定keyのオブジェクトが存在しません。
KeyTooLong 400 Bad Request オブジェクトのkeyが許容サイズを超えています。
InvalidArgument 400 Bad Request
以下のいずれかが原因です。
  • サーバサイド暗号化用のヘッダの指定に誤りがあります
  • ソースオブジェクトの暗号化に用いた暗号化キーと、リクエストの暗号キーが一致しません
  • httpsで通信をしていません
InvalidEncryptionAlgorithmError 400 Bad Request x-iijgio-server-side-encryption-customer-algorith,x-iijgio-copy-source-server-side-encryption-customer-algorithに誤った値が指定されています。

サンプル

my-image.jpgを複製し、my-second-image.jpgというキー名でbucketに追加するサンプル
リクエスト
PUT /my-second-image.jpg HTTP/1.1
Host: bucket.storage-dag.iijgio.com
Date: Wed, 28 Oct 2009 22:32:00 GMT
x-iijgio-copy-source: /bucket/my-image.jpg
レスポンス
HTTP/1.1 200 OK
x-iijgio-id-2: eftixk72aD6Ap51TnqcoF8eFidJG9Z/2mkiDFu8yU9AS1ed4OpIszj7UDNEHGran
x-iijgio-request-id: 318BC8BC148832E5
x-iijgio-copy-source-version-id: 3/L4kqtJlcpXroDTDmJ+rmSpXd3dIb
rHY+MTRCxf3vjVBH40Nr8X8gdRQBpUMLUo
x-iijgio-version-id: QUpfdndhfd8438MNFDN93jdnJFkdmqnh893
Date: Wed, 28 Oct 2009 22:32:00 GMT
Server: storage-dag.iijgio.com
<CopyObjectResult>
  <LastModified>2009-10-28T22:32:00</LastModified>
  <ETag>9b2cf535f27731c974343645a3985328</ETag>
</CopyObjectResult>

POST Object

ウェブブラウザベースのアップロード形式で指定のバケットオブジェクトを追加します(PUT Objectの代替手段です)。

PUT ObjectのHTTPヘッダーで渡されていたパラメータは、POSTのmultipart/form-dataでエンコードされたメッセージボディ内のフォームフィールドとして渡されます。

この操作を行うユーザは、オブジェクトを追加するバケットに対しWRITE権限を付与されていなければなりません。

本サービスはオブジェクトの部分的な保存は行いません。成功のレスポンスはオブジェクト全体を保存したことを意味します。

リクエストボディより先にリクエストヘッダーを送信する設定にするには100-continue HTTPステータスコードを使用します。ヘッダー部でメッセージが拒否された場合にはボディは送信されません。

同一のオブジェクトに対し、ほぼ同時に複数の書き込みの要求を受けた場合には最後に書かれた内容で上書きされます。

データが破損していないことを確実にするためにContent-MD5を用います。Content-MD5 を用いることで、あらかじめ計算しておいたMD5ハッシュ値とアップロードしたオブジェクトのMD5ハッシュ値が比較され正しくアップロードされたことを確認できます。

リクエスト情報

シンタックス

POST /{object key} HTTP/1.1
Host: {destination bucket name}.storage-dag.iijgio.com
User-Agent: {browser data}
Accept: {file types}
Accept-Language: {regions}
Accept-Encoding: {file encoding}
Accept-Charset: {character set}
Keep-Alive: 300
Connection: keep-alive
Content-Type: multipart/form-data; boundary={boundary}
Content-Length: {length}
--{boundary}
Content-Disposition: form-data; name="key"

{destication object key}
--{boundary}
Content-Disposition: form-data; name="success_action_redirect"

{success redirect URL}
--{boundary}
Content-Disposition: form-data; name="Content-Type"

{content type}
--{boundary}
Content-Disposition: form-data; name="x-iijgio-meta-{metadata key}"

{metadata value}
--{boundary}
Content-Disposition: form-data; name="IIJGIOAccessKeyId"

{access key id}
--{boundary}
Content-Disposition: form-data; name="policy"

{encoded policy}
--{boundary}
Content-Disposition: form-data; name="signature"

signature={signature string}
--{boundary}
Content-Disposition: form-data; name="file"; filename="{file name}"
Content-Type: {file content type}

{file content}
--{boundary}
Content-Disposition: form-data; name="submit"

{Upload to storage-dag.iijgio.com}
--{boundary}--

リクエストパラメータ

この操作ではリクエストパラメータは使用しません。

リクエストヘッダー

この操作では基本リクエストヘッダーのみ使用します。

フォームフィールド

表. POST Object フォームフィールド一覧
フォームフィールド 説明 必須
IIJGIOAccessKeyId
オブジェクト所有者のアクセスキーID
型:String
デフォルト値:なし

Warning

制約

リクエストにpolicyドキュメントが含まれている場合、必須

Cache-Control,Content-Type,Content-Disposition,Content-Encoding
REST特有のヘッダー

詳細はPUT Objectをご覧ください。

型:String
デフォルト値:なし
×
expires
有効期限

ミリ秒で指定します。

型:Integer
デフォルト値:なし
×
file
ファイル、またはテキストコンテンツ
フォーム内の最後のフィールドでなければなりません。
一度に1ファイルのみアップロードすることができます。
型:Fileまたはテキストデータ
デフォルト値:なし
×
key
アップロードされたキー名

ユーザに提供されたファイル名を利用するには${filename}を使用します。

型:String
デフォルト値:なし
×
policy
リクエストで許可されていることについて記述するセキュリティポリシー
ポリシーのないリクエストは匿名であり、パブリックに書き込み可能なバケットへの操作とみなされます。記述内容はリンク先をご覧ください。
型:String
デフォルト値:なし
×
signature
認証に用いる署名

POST PolicyをHMAC SHA-1を使って、Secret Access Keyで署名した値をBase64エンコードしてセットします。

型:String
デフォルト値:なし
△(policyが設定されている場合必須)
success_action_redirect,redirect
アップロード成功時にクライアントがリダイレクトされるURL
success_action_redirectが指定されていない場合、本サービスはsuccess_action_statusフィールドで指定された空のドキュメントタイプを返します。
本サービスがURLを解釈できない場合、そのフィールドが存在しないかのように動作します。
アップロードが失敗した場合、本サービスはエラーを表示し、リダイレクトを行いません。
型:String
デフォルト値:なし

Warning

※redirectのフィールド名は推奨しません。将来的にredirectのフィールド名はサポート対象外になる可能性があります。

×
success_action_status
success_action_redirectが指定されていない場合、アップロード成功時にクライアントに返されるステータスコード
200、201、204(デフォルト値)が有効な値となります。
200または204が設定された場合、本サービスは200または204ステータスコードを伴う空のドキュメントを返します。
201が設定された場合、本サービスは201ステータスコードを伴うXMLドキュメントを返します。
値が設定されていない場合または無効な値が設定された場合、204ステータスコードを伴う空のドキュメントを返します。
型:String
デフォルト値:なし
×
x-iijgio-meta-*
ユーザーメタデータ

この接頭辞で始まる全ての項目がユーザーメタデータであるとみなされます。内容の解釈は行われません。

型:String
デフォルト値:なし
×

オブジェクトをサーバサイド暗号化で暗号化する場合、以下のフォームフィールドを追加で指定します。

Warning

暗号化キーは本サービス内に保存されません。暗号化実施後に破棄します。暗号化キーはお客様が管理する必要があります。
暗号化キーが不明となった場合、オブジェクトの取得が出来なくなります。
表. POST Object フォームフィールド(サーバサイド暗号化)一覧
フォームフィールド 説明 必須
x-iijgio-server-side-encryption-customer-algorithm 暗号化で使用するアルゴリズムを指定します。値は”AES256”である必要があります。
x-iijgio-server-side-encryption-customer-key 暗号化で使用する暗号化キーを指定します。Base64でエンコードした値をセットします。暗号化キーの長さはBase64エンコード前で256ビットである必要があります。暗号化キーは対象オブジェクトの暗号化後に速やかに破棄されます。
x-iijgio-server-side-encryption-customer-key-MD5
暗号化に利用した暗号化キーのMD5値を返します。
型:String

レスポンス情報

レスポンスヘッダー

この操作では基本レスポンスヘッダーのみ返します。

レスポンスエレメント

この操作はレスポンスエレメントを返しません。

エラー情報

この操作では以下のエラーを返します。

表. POST Object エラーコード一覧
コード ステータス 内容
InvalidAccessKeyId 403 Forbidden 指定のアクセスキーIDを持つユーザが存在しません。
SignatureDoesNotMatch 403 Forbidden 指定されたリクエストのシグネチャが一致しません。
IncorrectNumberOfFilesInPostRequest 400 Bad Request リクエストで複数のファイルが指定されています。
MalformedPOSTRequest 400 Bad Request ボディがmultipart/form-dataとして正しい形式ではありません。
MaxMessageLengthExceeded 400 Bad Request リクエストのサイズが長すぎます。
MaxpostPreDataLengthExceededError 400 Bad Request リクエスト中のファイル指定部分のサイズが大きすぎます。
InvalidPolicyDocument 400 Bad Request フォームの内容が、policy document 内に定義された条件に合っていません。
EntityTooSmall 400 Bad Request ファイルが許容最低サイズよりも小さいです。
EntityTooLarge 400 Bad Request ファイルが許容最大サイズよりも大きいです。
KeyTooLong 400 Bad Request オブジェクトのkeyが許容サイズを超えています。
MetadataTooLarge 400 Bad Request メタデータのサイズが許容サイズを超えています。
InvalidArgument 400 Bad Request
以下のいずれかが原因です。
  • サーバサイド暗号化用のフォームフィールドの指定に誤りがあります
  • httpsで通信をしていません
InvalidEncryptionAlgorithmError 400 Bad Request x-iijgio-server-side-encryption-customer-algorithに誤った値が指定されています。

サンプル

リクエスト
POST /Neo HTTP/1.1
Content-Length: 4
Host: quotes.storage-dag.iijgio.com
Date: Wed, 01 Mar 2009 12:00:00 GMT
Authorization: IIJGIO 15B4D3461F177624206A:xQE0diMbLRepdf3YB+FIEXAMPLE=
Content-Type: text/plain
Expect: the 100-continue HTTP status code
ObjectContent
レスポンス
HTTP/1.1 100 Continue
HTTP/1.1 200 OK
x-iijgio-id-2: LriYPLdmOdAiIfgSm/F1YsViT1LW94/xUQxMsF7xiEb1a0wiIOIxl+zbwZ163pt7
x-iijgio-request-id: 0A49CE4060975EAC
x-iijgio-version-id: default
Date: Wed, 12 Oct 2009 17:50:00 GMT
ETag: "1b2cf535f27731c974343645a3985328"
Content-Length: 0
Connection: close

DELETE Object

指定のオブジェクトを削除します。

リクエスト情報

シンタックス

DELETE /{object key} HTTP/1.1
Host: {bucket name}.storage-dag.iijgio.com
Date: {date}
Authorization: {authorization string}

リクエストパラメータ

この操作ではリクエストパラメータは使用しません。

リクエストヘッダー

この操作では基本リクエストヘッダーのみ使用します。

リクエストエレメント

この操作ではリクエストエレメントは使用しません。

レスポンス情報

レスポンスヘッダー

この操作では基本レスポンスヘッダーのみ返します。

レスポンスエレメント

この操作はレスポンスエレメントを返しません。

エラー情報

この操作では以下のエラーを返します。

表. DELETE Object エラーコード一覧
コード ステータス 内容
InvalidAccessKeyId 403 Forbidden 指定のアクセスキーIDを持つユーザが存在しません。
SignatureDoesNotMatch 403 Forbidden 指定されたリクエストのシグネチャが一致しません。
AccessDenied 403 Forbidden アクセス権限がありません。
NoSuchBucket 404 Not Found 指定されたオブジェクトが属するバケットが存在しません。

オブジェクトが存在しない(オブジェクトが既に削除されている)場合は 204 No Content を返します。

サンプル

オブジェクトを削除するサンプル
リクエスト
DELETE /my-second-image.jpg HTTP/1.1
Host: bucket.storage-dag.iijgio.com
Date: Wed, 12 Oct 2009 17:50:00 GMT
Authorization: IIJGIO 15B4D3461F177624206A:xQE0diMbLRepdf3YB+FIEXAMPLE=
レスポンス
HTTP/1.1 204 NoContent
x-iijgio-id-2: LriYPLdmOdAiIfgSm/F1YsViT1LW94/xUQxMsF7xiEb1a0wiIOIxl+zbwZ163pt7
x-iijgio-request-id: 0A49CE4060975EAC
Date: Wed, 12 Oct 2009 17:50:00 GMT
Content-Length: 0
Server: storage-dag.iijgio.com

ページ先頭へ