ひとりでやるRiak Advent Calendar 2012 day3 - OCamlクライアント

以前なんとなくやっていてお茶を濁していた感のあるRiakのOCamlクライアントですが、改めていくつかいじってみたのでこちらで正式に。

f:id:kuenishi:20121205061849p:plain

opamはちゃんと入っていますか?常識ですよ?

$ opam remote -add piqi git://github.com/alavrik/piqi-opam-repo.git 
$ opam install piqi

あとMacOSだとprotobufが必要になるので
$ sudo port install protobuf-c

Debianだとこんな感じ
$ sudo aptitude install protobuf-compiler

これで、あとはギッハブから入れるだけ。
$ git clone git://github.com/metadave/riak-ocaml-client
$ cd riak-ocaml-client
$ ./configure --enable-tests
$ make -j
$ make install

さてこれで失敗したアナタ。さあては4.00.1使ってないですね?

$ opam switch 4.00.1

そして最初からやり直してください。あと、Riak使う上で何かと便利なのがJSONなので

$ opam install json-wheel

あれ、スペースいったんだっけかなあぁ…
そういう感じで、データを入れたいときは

  let c = Riak.riak_connect_with_defaults "127.0.0.1" 8087 in
  let bucket_name = "spam" in
  let title = "egg" in
  let _ = Riak.riak_put c bucket_name (Some title) "ham: some weird binary" [] in

これでふつうのオペレーションができる。うーん、せっかくのOCamlなのでbin_protか何かで型安全なシリアライザーションをしたい…!!