【AWS】Amazon API GatewayでAmazon DynamoDBの単一データを削除する
AWS

【AWS】Amazon API GatewayでAmazon DynamoDBの単一データを削除する

作成日:2022年01月27日
更新日:2022年01月28日

前回は、Amazon API Gateway で Amazon DynamoDB の単一データを取得しました。

aws-api_gateway-dynamodb-get-unique

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

今回は、Amazon DynamoDB の単一データを削除します。

まずは、AWS Lambda サービスにアクセスします。

bookDelete 関数を選択します。

前回と同様に、コードソーズで aws-sdk を呼び出します。

また、DynamoDB の API データを取得します。

js
const AWS = require("aws-sdk");
const dynamodb = new AWS.DynamoDB({
region: "ap-northeast-1",
apiVersion: "2012-08-10",
});

次は、params を作成します。

単一データを削除したいので、Key で『Book_id』を指定します。

Book_id は、DynamoDB の Book_id をコピーします。

また、DynamoDB で作成したテーブルを指定します。

js
exports.handler = async (event, context, callback) => {
const params = {
Key: {
"Book_id": {
S: "abcdefg"
}
},
TableName: "Books"
}

dynamodb の deleteItem を使って、テーブルデータを取得します。

また、エラーの場合は、エラーをコールバックします。

js
exports.handler = async (event, context, callback) => {
const params = {
Key: {
Book_id: {
S: "abcdefg",
},
},
TableName: "Books",
};
try {
const data = await dynamodb.deleteItem(params).promise();
callback(null, data);
} catch (err) {
callback(err);
}
};

Lambda 関数を作成したので、IAM でアクセスを許可します。

IAM サービスへアクセスしましょう。

サイドバーの『ロール』をクリックします。

image2

Lambda で作成した、bookGet のロールを選択します。

image3

『ポリシーをアタッチします』をクリックします。

image4

『AmazonDynamoDBFullAccess』にチェックを入れます。

『ポリシーのアタッチ』をクリックします。

image5

ポリシーが追加されました。

image6

Lambda に戻って、テストします。

『Test』をクリックすると、

image7

レスポンスの中身が空になりました。

データが削除されているか、確認します。

Amazon DynamoDB サービスにアクセスしましょう。

データを確認すると、

image8

Book_id で指定したデータが削除されていました。

次回は、Amazon Cognito のユーザープールを作成します。

aws-cognito-user_pools-create

【AWS】Amazon Cognitoのユーザープールを作成する

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