REST API 概要

本サービスが提供するAPIはREST(Representational State Transfer)をサポートしており、全てのAPIはXML形式のレスポンスボディを返します。

基本リクエストヘッダー

本サービスのREST APIに対するリクエストには以下のヘッダーを含めなければなりません。

なお、以下の表で必須項目はリクエスト側での設定が必須かどうかを指しており、○は必須、×は必須ではない、△は条件により必須を意味します。

またデフォルト値が「なし」と記載されている箇所は、デフォルト値が存在しない事を意味し、null値や空文字列がデフォルト値であるという意味ではありません。

表. 基本リクエストヘッダー一覧
HTTPヘッダー 説明 必須
Authorization
リクエスト認証に用いる文字列
型:String
デフォルト値:なし
Content-Length
RFC 2616に準拠したヘッダー部を除いたメッセージ長
型:String
デフォルト値:なし
条件:ACL等XMLを指定するリクエストおよびPUTリクエストにおいて必須です。
Content-Type
リソースのコンテントタイプ

例: text/plain

型:String
デフォルト値:なし
×
Date
リクエスト側で生成した現在日時

例: Wed 01 Mar 2009 12:00:00 GMT

型:String
デフォルト値:なし
Host
対象となるリソースのホスト
パス形式でバケット名を指定する場合は「storage-dag.iijgio.com」となります。
仮想ホスト形式でバケット名を指定する場合は「<bucketName>.storage-dag.iijgio.com」となります。
(<bucketName>は対象とするバケット名)
型:String
デフォルト値:なし
条件:HTTP/1.1リクエストの場合必須。HTTP/1.0リクエストの場合任意です。

基本レスポンスヘッダー

本サービスのREST APIのレスポンスは、必ず以下のヘッダーを含みます。
なお、デフォルト値が「なし」と記載されている箇所は、デフォルト値が存在しないことを意味し、null値や空文字列がデフォルト値であるという意味ではありません。
表. 基本レスポンスヘッダー一覧
HTTPヘッダー 説明
Content-Length
レスポンスのボディの長さ(サイズ)
型:String
デフォルト値:なし
Connection
サーバとの接続コネクションが開いているかどうか
型:列挙
有効な値:open | close
デフォルト値:なし
Date
サーバがレスポンスを返した日時
(サーバ側で生成されます。)
例 Wed, 01 Mar 2009 12:00:00 GMT
型:String
デフォルト値:なし
ETag
オブジェクトから生成されたMD5ハッシュ値(ETag: Entity Tag)
GETリクエスト時にIf-Modifiedタグにこのハッシュ値をセットすると、サーバはリクエスト処理時点のオブジェクトから算出したハッシュ値と比較した上で不一致ならばエラーを返します。
ETagのハッシュ値はオブジェクトの内容のみから生成され、メタデータの内容に関知しません。メタデータの内容だけが変更されていた場合、ハッシュ値は同じと判定されます。
型:String
デフォルト値:なし
Server
このレスポンスを生成したサーバ名
型:String
デフォルト値:なし
x-iijgio-id-2
サーバ側でのトラブルシュートの為の特別な値
型:String
デフォルト値:なし
x-iijgio-request-id
サーバ側が一意に生成する識別子

問題が発生した場合に利用する為の値です。

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

エラーレスポンス

Content-Typeヘッダーは”application/xml”として返されます。
また、ステータスコードは300, 400, 500番台が返されます。
サンプル
<?xml version="1.0" encoding="UTF-8"?>
<Error>
  <Code>NoSuchKey</Code>
  <Message>The resource you requested does not exist</Message>
  <Resource>/mybucket/myfoto.jpg</Resource>
  <RequestId>4442587FB7D0A2F9</RequestId>
</Error>

レスポンスエレメント

表. エラーレスポンスエレメント一覧
名前 説明
Code
エラー状態をユニークに表す文字列

これはプログラムによって解釈できるようにするためのものです。

型:String
親:Error
Error
すべてのエラー要素を持つコンテナ
型:Container
Message
エラーの状態の一般的な説明
Code とは異なりこちらは人間が解釈するための要素です。
英語で記載されているため、国際化対応をする場合はこのメッセージをそのまま使うことはできません。
型:String
親:Error
RequestId
エラーに関連するリクエストの識別子
型:String
親:Error
Resource
エラーに関連するリソース(バケットまたはオブジェクト)

リクエストURLで指定されたリソースを表示します。

型:String
親:Error

エラーコード

エラーレスポンスにはエラーの内容を示すエラーコードが含まれています。エラーコードについては以下をご覧ください。

認証

本サービスが提供するAPIは以下の認証をサポートしています。

暗号化

本サービスではオブジェクトを暗号化して格納することが可能です。

API 一覧

表. サービスAPI一覧
名前 概要
GET Service (List Buckets) バケットの一覧を返します。
GET Service space 現在のストレージの使用状況を返します。
GET Service traffic 転送量を取得します。
表. バケットAPI一覧
名前 概要
GET Bucket (List Objects) 指定したバケットの一部または全ての オブジェクトをリストで返します。
HEAD Bucket バケットが存在するかどうかおよびアクセス可能かどうかを返します。
PUT Bucket 新しいバケットを作成します。
DELETE Bucket バケットを削除します。
GET Bucket location バケットが配置されているリージョン情報を返します。
GET Bucket acl バケットのACL設定内容を返します。
PUT Bucket acl 既存のバケットのACLを設定します。
GET Bucket policy バケットポリシー設定内容を返します。
PUT Bucket policy バケットポリシーを追加、更新します。
DELETE Bucket policy 既存のバケットポリシーを削除します。
GET Bucket cors Cross-Origin Resource Sharing(CORS)の設定を取得します。
PUT Bucket cors CORSの設定を登録します。
DELETE Bucket cors 既に登録されているCORSの設定を削除します。
GET Bucket website ウェブサイト設定を取得します。
PUT Bucket website ウェブサイト設定を登録します。
DELETE Bucket website 既に登録されているウェブサイト設定を削除します。
List Multipart Uploads 進行中のマルチパートアップロードの一覧を返します。
表. オブジェクトAPI一覧
名前 概要
GET Object オブジェクトを取得します。
HEAD Object オブジェクトのメタデータを取得します。
OPTIONS Object CORSが有効の場合に、アクセス可能なサーバのURI(Origin)、HTTPメソッドおよびHTTPヘッダーを返します。
PUT Object バケットにオブジェクトを追加します。
PUT Object (Copy) 既に保管されているオブジェクトを複製します。
POST Object HTML形式を使用して指定のバケットにオブジェクトを追加します。
DELETE Object 指定のオブジェクトを削除します。
Delete Multiple Objects 複数のオブジェクトを指定して削除します。
GET Object acl オブジェクトのACL設定内容を取得します。
PUT Object acl 既存のオブジェクトのACLを設定します。
List Parts 指定のマルチパートアップロードのパートの一覧を返します。
Initiate Multipart Upload 新しくマルチパートアップロードを開始します。
Upload Part 指定のマルチパートアップロードにパートを追加します。
Upload Part (Copy) 既存のオブジェクトをパートとして指定のマルチパートアップロードに追加します。
Complete Multipart Upload 追加したパートからオブジェクトを構成します。
Abort Multipart Upload 進行中のマルチパートアップロードを中止します。

ページ先頭へ