RESTfulなKVS Terrastoreを使ってみる(2) – PHPからデータストア

前回インストールを行うところまで行ったので、今回は実際にデータをストアしてみる。
Terrastoreはすべてデータの格納・取得はRESTfulに行うことができるので、まずは手軽(?)にPHPからデータをストアしてみることにする。
HTTPのPUT命令でデータをTerrastoreに置くことができるので、データをストアするには以下の様な形で実現できる。

<?php
require_once 'HTTP/Request2.php';
$req = new HTTP_Request2("http://localhost:8080/foo/bar2");
$req->setMethod("PUT");
$req->setHeader(array("Content-Type" => "application/json"));
$req->setBody('{"test": "test2"}');
$response = $req->send();
print $response->getStatus();
?>

これで、ローカルホストに立てられているTerrastoreサーバへ、JSON表現で与えられる {"test":"test2"} という連想配列を格納する。
HTTPのレスポンスコード204が返却されれば、データの格納成功である。
実際にTerrastoreに格納したデータを取得するには、HTTPのGET命令で良いのでwget*1でも結果を取得できる。

% wget -q http://localhost:8080/foo/bar2 -O -
{"test": "test2"}

よさそうである。実際はプログラム側から呼び出さないといけないが、簡単な確認はこれでできた。

*1:wgetで取得内容を標準出力に出す方法を度忘れして調べたのは内緒だ