SDKでDynamoDBを操作する。スクリプト言語とサーバー(Chef、Vagrant)に関して書きます。この広告は、90日以上更新していないブログに表示しています。SDKでDynamoDBを操作する。新しいサービスを作成した際にものすごくDynamoDBにハマったので、同じくハマっている人のためにブログに残しておきます。問題だったのが、まったく参考サイトが無いということ。AWSのAPIドキュメントとか確認しながらやったのですが、なんせ英語が弱いのでかなり苦労しました。あとは、実際のSDKのコードを追いながらこまめに動作確認してました。デザイン解析でDynamoDBを使おうと思った背景ですが、使ってみたかったという好奇心が一番でした。使ってみて率直な感想ですが、結構癖があるんじゃないか?と思いました。言ってもKVSなんてmongoDB(そもそもmongoDBはRDBに近い要素もあるので、使いやすかったです。)ぐらいしか使ったことなかったので、癖があるかどうかはよく判りません・・・でも、発想を駆使すればDynamoDBだけでもサイトが構築できる!と感じました。問題点もいくつかあります。そこは諦めるか、プログラムで回避するしかありません。BYに関する情報は見当たりませんでした。orz実は方法がありました。別記事としてまとめてます。問題点2DynamoDBに値を入れる際に、入れた順番でデータが入ってくれません。日付順とかも出来ませんでした。問題点3リレーション出来ない。KVSだったら普通なんですけれど、これも一応問題点として上げておきます。プログラムで回避するしか方法はありません。他にもあると思いますが、自分が構築していく上では3点だけでした。AWSのコンソール画面からDynamoDBのテーブルを作らないといけませんが、その部分は省略します。(もちろんプログラムでもテーブル作成出来ます。)今回はテーブル名を「table」にし、ハッシュキーを「id」にします。レンジキーは使いません。ここからプログラムになります。これが正しいかどうか判りませんが動作します。aws-sdkキーの読み込みaccess_key_idとsecret_access_keyの説明は省略します。dynamo_db_endpointは日本のDynamoDBを見に行くような設定です。)テーブル名の設定とスキーマを設定する。こちらの設定も必須となります。スキーマはハッシュキーだけ設定しておけばOKです。:string]データを書き込む追加したいカラムがあったら追加するだけです。ここはRDBと違って便利ですね。end}データを削除するtable.items["a1234"].deleteデータをまとめて削除する。titleが「hogehoge」とマッチするレコードを削除します。u.deleteend他にもありますが、基本的なことはこれだけで出来ます。ハマりましたが、一つ一つメソッドを確認しながら対応すれば、確実に実装できると思います。SDKでDynamoDBを操作する。新しいサービスを作りました。スクリプト言語とサーバーに関して書きます。2@pikonoriをフォローはてなブログをはじめよう!pikonoriさんは、はてなブログを使っています。ブログを報告する引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。