未踏作業日誌――余計なもの作るよ!

未踏の作業日誌的なものを書きましょうということで書くことにしました.余計なことばっかりしています.

DynamoDBのWebAPIを覗いてみる

DynamoDBの日本語公式にディスカッション・フォーラムとか書いてあったので喜んで飛びついたところ,主要言語が英語過ぎて何も出来ない…….

create_tableしようとしたときに,attribute_definitionsがダメだとか,そんなもん知らんとかAPIのほうで怒られてしまい,AWS-SDKでテーブルを作成することがどうしてもできない.これだとマイグレーションができないのでとても不便だ.

 

というわけで,これだけは仕方ないので,AWS-SDKではなく,APIのほうを直接操作することで,テーブルを操作できるんじゃないかと少しだけ思った.

一応,DynamoDBのAPI一覧は以下のページで見ることができる.

Amazon DynamoDB API の使用 - Amazon DynamoDB

 

見た感じ,そこまで難しい仕組みになっていない.データ本体はJSON使ってるし,HTTPリクエストのほうも既存のライブラリで作れなくもないと思う.

要はNet::HTTP::Postの中身のヘッダを変えてやればいいだけなので,APIで指定されたヘッダの情報を参考にしながら文字列を作ってあげれば,普通にアクセスできるようになる.

あとはJSONを指定されたフォーマットのとおりに作ればいいだけなので,もしここでCreateTableが弾かれるとAWS側の問題になる.逆に,これで通ってしまったらAWS-SDK側の問題になることもわかるのでさもありなん.

 

最初はなんとかしてRubyスクリプト組もうかなと思ったけど,今のところ必要がないので実装を進めたほうがいいかもしれないって思った.土曜日までに完成させたいけど,明日は卒論発表会があるのでそれを見に行かなきゃならない.おまけにその後は懇親会がある.色々と面倒くさい.