Table of Contents
はじめに
FundastA Inc.の鈴木です。
現在、AWSとJavaを使用した業務の中でDynamoDBのデータを取得し表示するまでを行いました。
それを備忘録として残しておきます。
DynamoDBとは
規模に関係なく数ミリ秒台のパフォーマンスを実現する、key-value およびドキュメントデータベース
DynamoDBについては私の方でまとめたブログ記事もあるので、詳しく知りたい方はこちらをご覧ください。
↓
DynamoDBからのデータ取り出し
使用したDynamoDBの中身
今回は「person_id(String型)」と「name(String型)」のシンプルなデータにしてみました。
コード例
TestクラスからTestDynamoDBクラスを呼び出し、IdCollationメソッドを呼び出すことでデータの取り出しをしている。
Javaでコードを書く際には役割毎にクラスを分けた方が良いので、メインで動かすクラスとDynamoDBからデータを取ってくるクラスに分けました。
コード詳細説明
では、コードの詳細を上から説明していきます。
1.新しいインスタンスを作成する。
最初にインスタンスの作成を行います。これがないとDynamoDBから項目を取得したりできないので、作成します。
withRegion(“ap-northeast-1”)の部分は、自分が使用したい地域に設定してください。
2.Mapを作成し、キー:Stringと値:AttributeValueのインスタンスを作成し、キー:person_idと変数idを追加する。
3.必要な項目のテーブル名とプライマリキー値を持つ
DynamoDBに投げたいリクエストのインスタンスを作成する。
中に入れるのは、先ほど作ったMap型の”person_id”と変数idの入ったkey_to_getと変数table_nameをセットして、GetItemRequest を作成する。
4.項目に関連付けられた、キーと値のマップを取得
DynamoDBインスタンスの中身を取るためにgetItemメソッドを使用する。そしてその中身をMap型に箱に入れる。
5.メインクラス実行
最後にメインクラスであるTest.javaのコードを実行します。
TestDynamoDBのインスタンスを作成して、TestDynamoDBのIdCollationのメソッドを実行する。
その結果DynamoDBからデータが取得されます。
おわりに
今回はDynamoDBからデータを取り出すコードを載せました。
コードの作成は主にAWSのドキュメントを参考にしました。
AWSとJavaを使った例などが調べても記事が少なく、手こずる場面もありましたが、AWSドキュメントがしっかり作動してくれました。
今後はLambdaやKinesisを扱うコードやS3にアップロードするコードなどを記載したいと思います。
ご覧いただきありがとうございます。