データストレージ API 概要

本サービスが提供するAPIはREST(Representational State Transfer)をサポートしており、全てのAPIはXML形式のレスポンスボディを返します。
Gateway API経由でデータストレージに蓄積されたデータに対し、本ページで説明するREST APIでアクセスすることができます。

 

基本リクエストヘッダー

本サービスの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

対象となるリソースのホスト ホスト名は「s3api.iot.iij.jp」となります。

  • 型: 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は以下の認証をサポートしています。

暗号化

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