AWSサーバレスアーキテクチャーNo5:DynamoDB
AWSのホームページの初心者ハンズオンにある「サーバーレスアーキテクチャで翻訳 Web API を構築する 」の内容を自分のAWSアカウントでやってみました。
前回投稿の Lambda + API Gatewayを実装した続きで、5パート目です。
ざっくりと基本構成を図で表してみて、この中の DynamoDB のセットアップを行います。
![](https://mikolabo.net/wp-content/uploads/2021/12/DynamoDB.png)
AWSのサーバレスアーキテクチャーで、情報の蓄積にDynamoDBが良く使われるので今回、翻訳履歴を保存します。
Amazon DynamoDB の特徴
- フルマネージド型のNoSQLデータベースサービス
- 3つの Availability Zone に保存されるので信頼性が高い
- 性能要件に応じて、テーブルごとにスループットキャパシティを定義できる
(キャパシティの Auto Scaling、オンデマンドキャパシティといった設定も可能) - ストレージの容量制限がない
- 料金体系(キャパシティを定義する場合)
※ オンデマンドキャパシティ:容量計画なしで 数千リクエスト/1 秒 を処理できる柔軟な請求オプション
Amazon DynamoDB 用語
![](https://mikolabo.net/wp-content/uploads/2021/12/6dae4bd081f89a0a2a913df066033fea.png)
Amazon DynamoDB におけるテーブル設計
![](https://mikolabo.net/wp-content/uploads/2021/12/ef0a812254cad5e6f5a1f3732ab37567.png)
![](https://mikolabo.net/wp-content/uploads/2021/12/d3f43d16db07b17dc93cdcaf0d568a81.png)
Amazon DynamoDB データ操作
![](https://mikolabo.net/wp-content/uploads/2021/12/9f6497a5fc250649b49f2f80be17fd01.png)
DynamoDBのテーブルを作成する
検索窓「Dynamo」から「DynamoDB」をクリック
![](https://mikolabo.net/wp-content/uploads/2021/12/DynamoDB1.png)
テーブル名、ソートキーだけ入力し、後はデフォルトの内容
デフォルトの設定は以下の通り
![](https://mikolabo.net/wp-content/uploads/2021/12/DynamoDB3.png)
![](https://mikolabo.net/wp-content/uploads/2021/12/DynamoDB4-633x1024.png)
読み込みキャパシティー、
書き込みキャパシティー
ともオフにして、
それぞれユニット数1に設定
下部にスクロールして
「テーブルの作成」をクリック
![](https://mikolabo.net/wp-content/uploads/2021/12/DynamoDB5.png)
![](https://mikolabo.net/wp-content/uploads/2021/12/DynamoDB6-1024x358.png)
テーブル作成されて、Activeとなった。テーブル「translate-history」のリンクをクリック。
![](https://mikolabo.net/wp-content/uploads/2021/12/DynamoDB7-1024x644.png)
![](https://mikolabo.net/wp-content/uploads/2021/12/DynamoDB8-1024x655.png)
![](https://mikolabo.net/wp-content/uploads/2021/12/DynamoDB9.png)
timestamp に「20211101093500」をセット。「新しい属性の追加」→「文字列」をクリック。
![](https://mikolabo.net/wp-content/uploads/2021/12/DynamoDB10.png)
項目「input_text」「output_text」を追加して、「項目の作成」をクリック
![](https://mikolabo.net/wp-content/uploads/2021/12/DynamoDB11.png)
今回は、 Amazon DynamoDB のテーブルを作成しました。
次回は、これまでの総仕上げで、API Gateway 、Lambda 組み合わせの日本語を英語に翻訳するAPIの最終形です。