Blogエンジニア日記DynamoDBを試してみましたShareあけましておめでとうございます。ウィザードの石井です。Servicesが提供するフルマネージドのNoSQLサーバーです。Javaを用いてDynamoDBの操作を行ってみます。概要Java用のDynamoDBのAPIは3種類ありますが、今回は高レベルAPIを使用します。ORMなのでオブジェクト指向に慣れ親しんでいる方なら使いやすいかと思います。Runtimeを導入しておく必要があります。2015」の受賞作品をDynamoDBに格納し、取得するという処理を実装してみます。テーブルの作成まず、AWSのコンソールからテーブルを作成しておきます。テーブル名はTheGameAwardsNominees、プライマリキーはcategory、ソートキーはtitleとします。次に、モデルの基底クラス及び先ほどのテーブルに対応させるTheGameAwardsNomineesモデルを実装します。クラスに対してDynamoDBのモデルであることを示すDynamoDBTableアノテーションを指定します。DBの項目名に合わせたゲッターとセッターを作成し、そのゲッターに上記のようにアノテーションを指定します。DynamoDBAttributeは必須ではありませんが、ここではわかりやすさを重視しています。各アノテーションでattributeNameを指定することで、実際の項目名とは違うメソッド名とすることもできます。最後に、Lambdaハンドラを実装します。入力されたJSONにsave項目があれば保存処理、query項目があれば検索処理という流れになっています。文字列やPOJOの他、コレクションや、POJOのプロパティとして更にPOJOを持たせたりと柔軟に対応できるようです。その柔軟性を利用して今回はTheGameAwardsNomineesモデルをPOJOとして流用しています。動作確認Lambdaのコンソールから以下のJSONを入力し、適切に保存・検索ができれば完了です。まとめ特にSQLをよく使われていた方からするとDynamoDBのNoSQLにはかなり抵抗があると思いますが、私が使ってみた感想としては洗練されているという印象でした。SQLのように多機能とは言い難いのですが、これからは選択肢の一つとしてマスターしておきたいところです。APIもわかりやすく作られていて、勘で作ってみてもどうにかなるという感じです。最近は何を始めるにも環境が整っていて始めやすいですね。SDKDynamoDBLambda【お知らせ】「2016年版・商業施設オープン予定カレンダー」資料用データ無料配布します。Beanstalkを動かしてみた。