.. include:: ../../../module.txt
.. _section1-springdata-dynamodb-introduction-label:
Introduction
=====================================================
Spring Data DynamoDBは Spring DataのコミュニティプロジェクトでSpring Data JPAなどと同様、データベースアクセス処理を抽象化し、CRUD操作などの処理をフレームワークとして提供する。
主な特徴は以下の通り挙げられる。
* DynamoDBテーブルに対するCRUDメソッドの実装の提供。
* クエリ名をベースとした動的クエリの生成
* ページネーション、動的なクエリの実行、カスタムデータアクセスの統合
* データ射影
* Spring Data RestとのRESTサポート
今回、以下の環境で簡単な動作検証を実施した。
.. _section1-1-springdata-dynamodb-environment-label:
動作環境
-----------------------------------------------------
[OS] |br|
MacOSX 10.13.6
[JVM] |br|
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)
[Spring] |br|
Spring Framework Boot 2.1.2.RELEASE| br|
Spring Framework Data DynamoDB 5.1.0 |br|
.. _section1-2-springdata-dynamodb-settings-label:
事前準備
-------------------------------------------------------
.. _section1-2-1-springdata-dynamodb-settings-pom-label:
pom.xmlの設定
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Mavenプロジェクトに以下のライブラリを追加しておく。Lombokを追加しているが、こちらは任意である。本ドキュメントでは、これらのライブラリを利用したコードが出てくるので注意すること。
.. sourcecode:: xml
:caption: pom.xml
:linenos:
org.springframework.boot
spring-boot-starter-parent
2.1.2.RELEASE
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-thymeleaf
org.projectlombok
lombok
true
org.springframework.boot
spring-boot-starter-test
test
com.github.derjust
spring-data-dynamodb
5.1.0
org.springframework.boot
spring-boot-maven-plugin
.. _section1-2-1-springdata-dynamodb-settings-database-label:
AWS DynamoDBの構築
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
事前にAWS コンソールのメニューから、DynamoDBのテーブルを作成しておく。 :ref:`section6-4-2-dynamodb-create-label` の通り、テーブル名、パーティションキーを入力しておく。
* テーブル名:sample_db
* パーティションキー:sample_key
* ソートキー:sort_key
* デフォルト設定の使用:チェックする
また、事前にDynamoDBへのフルアクセス権限を付与したローカル開発向けのアカウントを作成しておき、認証キーとシークレットキーをユーザホームディレクトリの.aws/credentialに指定しておくこと。