Top > 開発者資料 > TeraCLOUD REST API V2(Muramasa)リファレンス

REST APIの概要

REST APIを受け付けるサーバは主に2つある。詳細は、サーバの種類を参照のこと。また、リファレンスマニュアルも参照。

また、アプリケーション開発者は、概ね次の手順でAPIをアクセスする。

ここでは、APIキーのテスト用として、「 FEF5078EA41D182EEF89A21E034BD680 」を利用する。

このテスト用のキーは、開発者がテストの為に自由に使っても良いが、自分のプロダクトを何らかの形で公開する場合は、専用のキーを、別途、申請して欲しい。

また、最初にこのAPI-KEY利用するとき、自動的に利用したユーザに、50GB/1年のボーナス容量が着くようになっている。増えた容量は自由に利用できるが、あくまで開発者のためのものなので、このAPI-KEYでもって、ユーザに容量を増やすようなサービスソフトウェアは控えて欲しい。

初回登録時にアクセスすると良いAPI

  1. APIサーバのuserリソースにアクセス(GET)。ユーザ毎に異なるノードサーバ(WebDAV URL)を取得する。
  2. 取得した返値から、接続すべきWebDAV URLを取得する。
  3. データセットへのアクセスが必要なら、ノードサーバへリクエストする。

ユーザのノードサーバは、ユーザが初めてTeraCLOUDのアカウントを作成するときに自動的に収容先が決まり、その後は原則として変わることはない。そのため、アプリケーションが一度、取得したノードサーバをキャッシュして使い続けることができる。

またノード系サーバはBASIC認証のクレデンシャルも含めて独立して動作している。したがって、API系やウェブサーバがサーバダウンしていても、ノードサーバさえ稼働していれば、WebDAVのサービスは継続できるように設計されている。

Curlによるリクエスト例:

curl -X GET --user あなたのID -H "X-TeraCLOUD-API-KEY: FEF5078EA41D182EEF89A21E034BD680" https://api.teracloud.jp/v2/api/user
Enter host password for user 'あなたのID': パスワードを入力

返値例

{"result":0,"node":"ise.teracloud.jp","webdav_url":"https://ise.teracloud.jp/dav/","api_key":{"note":"jpc api test","vendor":"justplayer","activated_time":"2018-12-06 12:29:41.0","name":"jpc api test"},"introduce_code_bonus_for_inviter":2,"introduce_code_bonus_for_invitee":5,"user":"あなたのユーザ名","introduce_code":"あなたの紹介コード","capacity":あなたの契約容量,"revision":2015041301}%

このようにJSONで、nodeやwebdav_urlを参照し、取得ができる。上記の例はiseというサーバが収容サーバとなっている。

node
ノードサーバ。このサーバに対してREST APIを送ること。/backup以下をアクセスする場合は、このホスト名からURLを作成すること。
webdav_url
一般にユーザが使っているWebDAVのURL。一般のアクセス領域を利用したい場合はこちらを利用する。ごく初期のユーザにはこのURLが「存在しない」場合がある。

詳しくは、リファレンスのgetUserを参照のこと。

利用開始時(アプリケーション起動毎)にアクセスすると良いAPI

容量系など

アプリケーションの実装上、特に必要がないのであれば、何もする必要は無い。

この例では、上記に置いて、ノードサーバがise.teracloud.jpだったので、ise.teracloud.jpにアクセスしている。

curl -X GET --user あなたのID -H "X-TeraCLOUD-API-KEY: FEF5078EA41D182EEF89A21E034BD680" https://ise.teracloud.jp/v2/api/dataset

Enter host password for user 'あなたのID': パスワードを入力

返値

{"result":0,"data":[["","","1.67T","200G","200G","395M","Sat May 10 17:58 2014","yes","on","1.06x","filesystem","200G",""]],"meta":["name","mountpoint","quota","used","usedbydataset","usedbysnapshots","creation","mounted","canmount","compressratio","type","referenced","description"]}%         

こちらの場合はデータが丸められているので、プログラムにはあまり役立ちにくいかも知れない。

/SUFFIXに、/(property)をつけると、データ構造を変わり、細かなデータが取得できる。

curl -X GET --user あなたのID -H "X-TeraCLOUD-API-KEY: FEF5078EA41D182EEF89A21E034BD680" "https://ise.teracloud.jp/v2/api/dataset/(property)"

Enter host password for user 'あなたのID':

返値

{"result":0,"dataset":{"__ROOT__":{"canmount":"on","usedbydataset":214671544832,"referenced":214671544832,"quota":1830729809920,"name":"","usedbysnapshots":414506496,"used":215086129152,"compressratio":"1.06x","type":"filesystem","mounted":"yes","creation":1399712327,"mountpoint":""}}}%

このように、実際に使っているデータが取得できる。実際のユーザの利容量は、

__ROOT__.used

から、取得ができる。

WebDAVのアクセス毎にアクセスすると良いAPI

REST APIは、レスポンスが劣化するため、都度、アクセスすることは、あまり推奨できない。

※TeraCLOUDは、WebDAVアクセスのレスポンス速度をあげる為に、様々な工夫をしている。

任意の時にアクセスできるAPI

ファイル関係のAPI

主なREST API

リソース名役割REST 対象サーバ
userユーザに関連する情報を操作する。アカウントAPIサーバ api.teracloud.jp
datasetデータセットに関連する操作を行う。
各ノードサーバ(*) *.teracloud.jp
snapshotデータセットのスナップショットを作成、削除をする。各ノードサーバ(*) *.teracloud.jp
filepropertiesファイルのプロパティを取得する。メディア情報を含む。各ノードサーバ(*) *.teracloud.jp

リファレンスマニュアル

リファレンスはこちらを参照のこと。

 
アカウント作成(無料 10GB)

1分で簡単登録!今すぐスタート!
Works online, Windows, Mac, iOS and Android