はじめに
- aws cliを利用してDynamodbのテーブルを作成する
- 作成したテーブルに対してデータ登録する
Dynamodb テーブル作成
aws dynamodb create-table --table-name users --attribute-definitions AttributeName=uid,AttributeType=S --key-schema AttributeName=uid,KeyType=HASH --provisioned-throughput ReadCapacityUnits=5,WriteCapacityUnits=5
aws dynamodb create-table --table-name tasks --attribute-definitions AttributeName=uid,AttributeType=S AttributeName=tid,AttributeType=N --key-schema AttributeName=uid,KeyType=HASH AttributeName=tid,KeyType=RANGE --provisioned-throughput ReadCapacityUnits=5,WriteCapacityUnits=5
データ登録
- uuidのパッケージを利用してuidを動的に生成する。登録時にConditionExpressionを指定すると既に登録済のuuidを登録したときにエラーになる。
ConditionExpressionを指定しないと同じuuidのデータがある場合、上書き保存になる。
const { v4: uuidv4 } = require('uuid');
const moment = require('moment');
const AWS = require('aws-sdk');
const db = new AWS.DynamoDB({
region: 'ap-northeast-1'
});
const uuid = uuidv4();
const email = '<あなたのメールアドレスを指定する>';
const phone = '09012345678';
// ConditionExpressionを指定すると既に登録済のuuidを登録したときにエラーになる。
// ConditionExpressionを指定しないと同じuuidのデータがある場合、上書き保存になる
/* 登録処理
const params = {
Item: {
uid: {S: uuid},
email: {S: email},
phone: {S: phone},
},
TableName: 'users',
ConditionExpression: 'attribute_not_exists(uid)'
};
db.putItem(params, (err) =>
if (err) {
console.error('error', err);
} else {
console.log('user added with uid ' + uuid);
}
});
作成したテーブルとデータ