【AWS】Amazon API Gatewayで送信したデータをAmazon DynamoDBに保存する
AWS

【AWS】Amazon API Gatewayで送信したデータをAmazon DynamoDBに保存する

作成日:2022年01月23日
更新日:2022年01月24日

前回は、AWS Lambda と Amazon DynamoDB を連携しました。

aws-lambda-dynamodb-link

【AWS】AWS ALambdaとAmazon DynamoDBを連携する

今回は、Amazon API Gateway で送信したデータを Amazon DynamoDB に保存します。

まずは、Amazon API Gateway にアクセスします。

作成した、API を選択します。

リソースの POST をクリックします。

image2

『統合リクエスト』をクリックします。

image3

マップングテンプレートの『application/json』をクッリックします。

image4

application/json 内を、以下のコードに書き換えます。

json
#set($inputRoot = $input.path("$"))
{
"title": "$inputRoot.title",
"author": "$inputRoot.author"
}

※値になるところは、『””』を入れ忘れないよう注意しましょう。

『保存』をクリックします。

image5

次に、AWS Lambda サービスへアクセスします。

bookCreate のコードソース内の params を書き換えます。

Book_id は、ランダムの文字列になるようにします。

また、Title と Author はeventを使用し、POST リクエストのデータを取得するようにします。

js
const AWS = require("aws-sdk");
const dynamodb = new AWS.DynamoDB({
region: "ap-northeast-1",
apiVersion: "2012-08-10",
});
exports.handler = async (event, content, callback) => {
const params = {
Item: {
Book_id: {
S: Math.random().toString(32).substring(2),
},
Title: {
S: event.title,
},
Author: {
S: event.author,
},
},
TableName: "Books",
};
await dynamodb.putItem(params).promise();
};

Deploy をクリックし、デプロイしておきましょう。

再び、API Gateway へ戻って、テストします。

テストをクリックすると、

image6

image7

ステータス 200 が返って来ました。

DynamoDB サービスにアクセスし、データが保存されているか確認します。

image8

先程送信したデータが保存されていました。

次回は、Amazon DynamoDB のデータを取得します。

aws-api_gateway-dynamodb-get

【AWS】Amazon API GatewayでAmazon DynamoDBのデータを取得する

© 2024あずきぱんウェブスタジオ