DynamoDBの中身を確認してみた(Java)

はじめに

FundastA Inc.の鈴木です。

現在、AWSとJavaを使用した業務の中でDynamoDBのデータを取得し表示するまでを行いました。

それを備忘録として残しておきます。

DynamoDBとは

規模に関係なく数ミリ秒台のパフォーマンスを実現する、key-value およびドキュメントデータベース

AWSドキュメント DynamoDB

DynamoDBについては私の方でまとめたブログ記事もあるので、詳しく知りたい方はこちらをご覧ください。

[SAA資格勉強]DynamoDBを学んでみた

DynamoDBからのデータ取り出し

使用したDynamoDBの中身

今回は「person_id(String型)」と「name(String型)」のシンプルなデータにしてみました。

コード例

上記のコードはメインクラスに書きます。

TestクラスからTestDynamoDBクラスを呼び出し、IdCollationメソッドを呼び出すことでデータの取り出しをしている。

Test.javaとTestDynamoDB.javaのファイルを作成しました。

Javaでコードを書く際には役割毎にクラスを分けた方が良いので、メインで動かすクラスとDynamoDBからデータを取ってくるクラスに分けました。

コード詳細説明

では、コードの詳細を上から説明していきます。

1.新しいインスタンスを作成する。

最初にインスタンスの作成を行います。これがないとDynamoDBから項目を取得したりできないので、作成します。

withRegion(“ap-northeast-1”)の部分は、自分が使用したい地域に設定してください。

2.Mapを作成し、キー:Stringと値:AttributeValueのインスタンスを作成し、キー:person_idと変数idを追加する。

Mapでキーと値を入れる箱を作っておく。そして今回はテーブルの項目名person_idとメインから持ってきたid(例:”001″)を挿入する。

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にアップロードするコードなどを記載したいと思います。

ご覧いただきありがとうございます。

参考記事

DynamoDB項目の操作方法

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA