Skip to content

dev'http_api'filesystem

Usagi Ito edited this page Jan 25, 2018 · 3 revisions

FILESYSTEM の使い方

概要

HTTP API Subsytem では JSON-RPC-2.0 の授受だけではファイル単位の操作は面倒なため、一部の API では同時に FILESYSTEM を併用します。

アクセス方法

HTTP API でのアクセス方法

FILESYSTEM は /FILESYSTEM/ ディレクトリーでサービスされ、 REST 風の API でファイルをアップロード(PUT)、取得(GET)、削除(DELETE)できます。

URL 例: http://127.0.0.1:50080/api/FILESYSTEM/tmp/my_file.something

  • GET: RESPONSE の BODY でファイル内容を得られます。
  • PUT: REQUEST の BODY を PATH へアップロード(生成)します。サブディレクトリーが存在しない場合は必要なサブディレクトリーが自動的に作成されます。
  • DELETE: PATH のファイルを削除します。

JSON-RPC-2.0 API 等の G4 内部でのアクセス方法

g4fs scheme を使用した特別な URL で FILESYSTEM 以下のパスを定義して扱います。

URL 例: g4fs://tmp/my_file.something

ファイルシステムの実体への直接のアクセス方法

G4 を配置したディレクトリー下の filesystem ディレクトリーが実体です。 G4 の起動中の直接のファイルアクセスは API とのアクセスの競合等が発生する可能性があるため注意して下さい。

FILESYSTEM下の使用可能なディレクトリー

2つのディレクトリーを用途に併せて使い分けます。

  1. var/ 永続性の汎用ディレクトリーです。
  2. tmp/ 起動時または終了時に内容が消去される一時的な用途のためのディレクトリーです。

また、これらのディレクトリーの下のサブディレクトリーを任意に使用できます。

G4 からユーザーへファイルを提供する API の流れ

G4 からユーザーへファイルを提供する機能を有する API では必要に応じて RESPONSE にファイルパスが含まれ、ユーザーは API の実行が成功した場合には /FILESYSTEM/tmp/something.png のようなパスへ GET アクセスを行いファイルを取得できます。

tmp 下に API で生成されるファイルはユーザーからの GET アクセス後に自動的に消滅する事があります。

ユーザーから G4 へファイルを提供する API の流れ

ユーザーはファイルのアップロードを伴う API を呼び出す前に FILESYSTEM に対し POST アクセスして必要なファイルをアップロードし、ファイルのアップロードを伴う API を実行できます。

tmp 下にアップロードしたファイルは API の呼び出し後に自動的に消滅する事があります。

Clone this wiki locally
You can’t perform that action at this time.